SQL in VB-Script

Liebe Wissende, ich schon wieder :wink:

Ich habe folgendes Problem.
Ich möchte in einem VB Script eine Tabelle abfragen.

z. B.

var = select zustand from monatsname
where monatsID = Me![Liste16]

wobei Me![Liste16] aus einem Listfeld stammt und ich mit einem Button ein Formular öffne.
Es wird auch schon mit dem richtigen Datensatz geöffnet.
Ich möchte aber anhand des Zustandes in der Monatstabelle ev. die Tabelle mit einem anderen Formular öffnen. Die ‚if‘ Anweisung hab ich schon.

Oder geht das etwa einfacher?

Vielen Dank für Geduld und Antworten
Servus
Herbert

Hallo Herbert,

versuchs mal mit:
docmd.openform Formularname und nach ein paar Kommas:
Verknüpfungskriterien. Diese Funktion baut dir Access auch mit
dem Assistenten.

Gruss
Nils

danke, und neue Frage dazu
erstmals danke für die Antwort, jetzt will ich es trotzdem wissen:
ich hab folgendes versucht:

Dim stDocName As String
Dim stLinkCriteria As String
Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb
strSQL = „SELECT zustand FROM Monatsname WHERE MonatsID =“ & Me![Liste16] & „;“

Set qdf = dbs.CreateQueryDef("", strSQL)


wie bekomme ich mein Abfrageergebnis in eine Variable, die ich dann abfragen kann?

Servus
Herbert

Normalerweise nimmt man Recordsets, um Abfrageergebnisse in VBA zu verarbeiten:

Dim RS as Recordset, DBS as Database
strSQL = "SELECT zustand FROM Monatsname WHERE MonatsID =" & Me![Liste16] 
Set RS = dbs.Openrecordset( strSQL, dbOpendynaset)
if not RS.EOF then 
 MyVar = RS!Zustand
else
 MsgBox "Nichts gefunden!"
end if
RS.close

Wenn es nur um einen einzelnen Wert geht, kannst du den allerdings einfacher mit DLookup ermitteln:

MyVar = DLookup("Zustand","Monatsname","MonatsID =" & Me![Liste16])

Gruß aus dem Norden
Reinhard Kraasch

1 Like

danke für die rasche Hilfe :smile:

Servus
Herbert