Veröffentlicht 9. August 201312 j Guten Morgen zusammen, ich versuche verzweifelt eine VBS Abfrage zu programmieren und komme nicht weiter:( Und bitte um Hilfe. Mein vorhaben ist, es soll mittels VBS ein Wert in einer SQL Datenbank abgefragt werden. Wenn dieser "0" ist soll ein Report gedruckt und anschließend der wert auf 1 gesetzt werden. select * from datenbank where ws_printed =0 also IF = printed = 0 then print........ update printed = 1 else hier soll nichts passieren end if Gruß LOCM Bearbeitet 9. August 201312 j von Locm
9. August 201312 j Autor Hallo, es scheitert an der ODBC Verbindung. Diese wird nicht aufgebaut, ein Fehler wird auch nicht zurück gegeben. Function Wadruck(Anz) Dim SQLString set MyDB = CreateObject("ADODB.Connection") MyDB.Open "DSN=datenbank;Uid=user;Pwd=passwd;" SQLString = "select count(*) from btb_werkstattauftrag where ws_printed=0"' & Anz & " set rsAnzahl = MyDB.Execute(SQLString)
9. August 201312 j Autor Ergänzung: habe es auch mit "PROVIDER=MSDASQL;DSN=server;Uid=user;Pwd=passwd;DATABASE=datenbank" versucht. Auch das ist ohne Erfolg :-( Es handelt sich um eine Informixdatenbank.
9. August 201312 j Dim SQLString set MyDB = CreateObject("ADODB.Connection") MyDB.Open "DSN=datenbank;Uid=user;Pwd=passwd;" SQLString = "select count(*) from btb_werkstattauftrag where ws_printed=0"' & Anz & " set rsAnzahl = MyDB.Execute(SQLString) Wo und von welchem Typ sind deine anderen Variablen? Wo werden sie definiert, insbesondere MyDB? Sind die Parameter (DB-Name, User, Passwort) im Open richtig und existiert der DB-User user? Das Execute gibt dir m.E. einen Boolean oder das Resultset zurück aber nicht den Feldwert aus dem Query. Diesen gibts dann erst anhand des Resultsets. Gruß Martin
9. August 201312 j Autor Hallo Martin, MyDB müsste auch definiert sein (kann ich erst am Montag wieder prüfen) Und der Benutzer existiert auch. Bei den Parametern bin ich mir nicht wirklich sicher. @ SilentDemise in der ODBC Datenquelle ist der Informix Treiber installiert. Aber ich vermute auch, dass es irgendwie am OBDC Treiber liegen muss. Gruß Ralf Bearbeitet 9. August 201312 j von Locm
11. August 201312 j Kannst du wenn schon, dann mal den originalen und sinnvollen Code posten. Dieser sollte auch syntaktisch sauber sein. Der unter #3 gepostete Code ist Schrott, wenn die Funktion keinen Rückgabe Wert hat.
12. August 201312 j Autor Hallo Zusammen, Danke für die Anregungen, habe es geschafft. Es lag unter anderem auch an der ODBC Anbindung. Gruß Ralf
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.