webForumDet fria alternativet

Odbc

9 svar · 338 visningar · startad av roj

rojMedlem sedan apr. 2002179 inlägg
#1

Hur ser syntaxen ut för att skicka en sql fråga till min ODBC dns?

JonMedlem sedan juli 20011 304 inlägg
#2

Lite ur huvudet:

Dim conn As Adodb.connection
Dim rs As Adodb.Recordset

conn.open "dsn-namnet"

conn.execute "Sql-sats"
'Har du en sql-fråga som returnerar recordsets kan du istället använda:
rs.open "Sql-fråga", conn
'Resultatet hamnar i rs, som i sin tur kan stegas igenom.
do while not rs.eof
    'mickla
loop
rs.close
conn.close
set rs = nothing
set conn = nothing

Glöm inte att ha med en referens till ado i projektet

rojMedlem sedan apr. 2002179 inlägg
#3

Var anger jag vilken databas den ska lägga in värdet i då?

Mitt problem e följande jag har ett VB program som skall lägga till en post i min filemaker databas vid namn employee.fp5

Jag har en filemaker ODBC drivrutin och Filemaker e kompatibel med ODBC.

Hur funkar det skriver jag bara ett anrop till ODBC.n och anger databas samt post som skall läggas till eller?

rojMedlem sedan apr. 2002179 inlägg
#4

Hur gör jag för att ha med en refererens till ado

JonMedlem sedan juli 20011 304 inlägg
#5

Du anger vilken databas i

conn.open "dsn-namnet"

där dsn-namnet är namnet på den dsn du satte upp till din filemaker databas.

under project->references tror jag att du hittar ado 2.x att referera till.

Du kan antingen smälla in värdena direkt med en sql sats:
conn.execute "Sql-sats"
där sql-sats ersätts med typ "Insert into tnamn(...) Values(...);"

eller
rs.open "Select * From tnamn where 1=2"
rs.addnew
rs!kolumnnamne=värde
rs.update

rojMedlem sedan apr. 2002179 inlägg
#6

Hmm.. Hittar inte ado 2.x konstigt vad kan anledningen vara?

@ndersMedlem sedan juni 200032 969 inlägg
#7

Referensen heter "Microsoft ActiveX Data Objects 2.x Library". Har du något sådant att lyfta in?

rojMedlem sedan apr. 2002179 inlägg
#8

Där va den gutt.. Men det funkar fortfarande inte.. =(

Får inte till open funktionen skriver:
conn.open "DSN=FMPtest;uid=;pwd='1234';database='employee.fp5'"

Min databas heter Employee.fp5 min system-dsn heter FMPtest jag har inget användar namn då man inte kan ha detta i Filemaker Samt jag har lösenord 1234 Någon som vet om jag gör något syntax fel?

rojMedlem sedan apr. 2002179 inlägg
#9

Fixa det =)
Så här der det ut..

Private Sub Command1_Click()
Dim cn As New rdoConnection
cn.Connect = "dsn=FMPtest;database=employee;uid=;pwd=1234"
cn.EstablishConnection
cn.Execute "INSERT INTO employee (firstname) VALUES ('dfdfdfåäö');"
cn.Close

End Sub
JonMedlem sedan juli 20011 304 inlägg
#10

Det där går ju bra, men du använder RDO, som är ganska gammalt. Jag föreslår att du använder ADO :)

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)