Mal wieder: Access und SQL und VBA

StephanHö

Grünschnabel
Hallo Forum, Wissende und Wissen suchende ;)

So langsam zweifele ich an mir. 2 Tage Suche nach etwas Passendem und nix will so richtig funktionieren...

Was suche ich?

Eine Möglichkeit, über VBA Daten aus Access auszulesen und diese dann weiter zu verarbeiten.

Die meisten Scripte geben lediglich einen Wert zurück, den ich über eine "select count(*)"-Funktion ermittle. Genau diesen Wert möchte ich weiterverarbeiten.
Nun habe ich zig Tips gefunden, wie das SQL-Statement übergeben wird, aber es war nichts verwertbares dabei, was einen Wert zurück gibt.
Wenige Scripte geben ganze Listen zurück.

Die Abfragen sind zeitabhängig, aber die entsprechenden Variablen funktionieren und generieren mir die erforderlichen Daten, die an das Script übergeben werden.

Ich muß aber auch gestehen, daß ich VBA-Neuling bin.

Beiträge über einen zu definierenden Recordset habe ich reichlich gelesen, aber meine grauen Zellen verlinken sich dabei leider nicht :(

Für Hinweise, die mich einer Lösung näherbringen oder die gar DIE Lösung beinhalten, wäre ich euch dankbar.

Grüße,

Stephan


Nachtrag:

Folgende Funktion habe ich gefunden, die den Wert zwar anzeigt, aber nicht in eine Variable zurückgibt:

Code:
DIM strSQL as String
strSQL="select count(*) from bla where schnassel='brassel' "
Dim qdf as DAO.Querydef
set qdf=currentDb.CreateQueryDef("qryDummy", strSQL)
DoCmd.OpneQuery qdf.Name
currentDb.QueryDefs.Delete qdf.Name

Was ich bräuchte, wäre eine Variable, in die der Ergebniswert zurückgegeben wird.

Bei den o.a. Listen sollten alle Werte zurückgegeben werden (Array?)

Bin für jede Hilfe dankbar!
 
Zuletzt bearbeitet:

StephanHö

Grünschnabel
Hallo zusammen,

habe die Lösung gefunden:

Code:
lngID = Nz(CurrentDb.OpenRecordset("SELECT TOP 1 id " & _
                                               "FROM Table " & _
                                           "ORDER BY id DESC;", _
                                       dbOpenSnapshot)(0), 0)

Entsprechende Variablen vorher definieren .
Es geht auch, die SQL-Anweisung in strSQL zu generieren und dann dort entsprechend zu übergeben.

Anfrage insofern erledig.

Grüße,

Stephan