Access 2010 SQL Abfrage ergebnis Abfragen VBA
Hallo,
ich komme an einer Stelle nicht weiter.
ich habe eine SQL Abfrage, welche über ein Kriteriumswert() mir eine Anzahl von Werten zurückliefert
Weiter habe ich ein Formular in welches ich den in der SQL Abfrage vorhanden Wert (varWert() ) eingebe.
Nun möchte ich, sobald ich in dem Formular ein Wert eingebe, dieser geprüft wird, ist der wert mehr als 1 mal vorhanden, dann führe X aus ansonsten Y
der Code funktioniert leider so nicht
Es erscheint der Hinweis:
Laufzeitfehler '3061'
1 Parameter wurde erwartet, aber es wurden zu wenig Parameter übergeben
Vielleicht kann mir hier jemand helfen
ich komme an einer Stelle nicht weiter.
ich habe eine SQL Abfrage, welche über ein Kriteriumswert() mir eine Anzahl von Werten zurückliefert
SELECT [CROSS Betriebe].Betriebsnummer, Count([CROSS Betriebe].Hauptbetrieb) AS AnzahlvonHauptbetrieb
FROM [CROSS Betriebe]
GROUP BY [CROSS Betriebe].Betriebsnummer
HAVING ((([CROSS Betriebe].Betriebsnummer)=varWert()));
Weiter habe ich ein Formular in welches ich den in der SQL Abfrage vorhanden Wert (varWert() ) eingebe.
Nun möchte ich, sobald ich in dem Formular ein Wert eingebe, dieser geprüft wird, ist der wert mehr als 1 mal vorhanden, dann führe X aus ansonsten Y
der Code funktioniert leider so nicht
Private Sub Text190_AfterUpdate()
Dim strSQL As String
Dim db As DAO.Database
'Dim db1 As Database, Liste As Recordset
varWert = Text190
DoCmd.Close acForm, "Betriebsübersicht"
strSQL = "SELECT [CROSS Betriebe].Betriebsnummer, Count([CROSS Betriebe].Hauptbetrieb) AS AnzahlvonHauptbetrieb FROM [CROSS Betriebe] GROUP BY [CROSS Betriebe].Betriebsnummer HAVING ((([CROSS Betriebe].Betriebsnummer)=varWert));"
Set db = CurrentDb
Set Liste = db.OpenRecordset(strSQL, dbOpenSnapshot)
MsgBox Liste.RecordCount
If Liste.RecordCount > 1 Then
' Führe X aus
MsgBox "mehr als 1"
Else
' Führe Y aus
MsgBox "nur 1 wert vorhanden"
End If
End Sub
Es erscheint der Hinweis:
Laufzeitfehler '3061'
1 Parameter wurde erwartet, aber es wurden zu wenig Parameter übergeben
Vielleicht kann mir hier jemand helfen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 206347
Url: https://administrator.de/contentid/206347
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
8 Kommentare
Neuester Kommentar
Moin svenac2010,
die Query macht schon das Richtige (vermutlich), aber was du abfragst, ist doch mitnichten der "AnzahlVonHauptbetrieb"-Wert, der dich vielleicht interessiert.
Du fragst doch immer nur die Anzahl der zurückgegebenen Zeilen (=.RecordCount) ab.
Und die ist immer =1, egal ob nun für den Betrieb varwert=4 nun zurückkommt, dass er 0 oder 1 oder 27 Hauptbetriebe hat.
Works as designed - ich würde mir da gar keine Sorgen machen.
Grüße
Biber
die Query macht schon das Richtige (vermutlich), aber was du abfragst, ist doch mitnichten der "AnzahlVonHauptbetrieb"-Wert, der dich vielleicht interessiert.
Du fragst doch immer nur die Anzahl der zurückgegebenen Zeilen (=.RecordCount) ab.
Und die ist immer =1, egal ob nun für den Betrieb varwert=4 nun zurückkommt, dass er 0 oder 1 oder 27 Hauptbetriebe hat.
Works as designed - ich würde mir da gar keine Sorgen machen.
Grüße
Biber
Moin svenac2010,
upps, sorry, ich hatte immer noch Bezug genommen auf die (korrigierte) Version der "SELECT Count(*)"-Abfrage aller Hauptbetriebsstätten eines Betriebes.
Okay, dann muss die Ursache noch banaler sein - ist denn die vielleicht die "Betriebsnummer" ein numerischer Wert und "varwert" ein Text?
Wäre im moment das Einzige, was mir noch einfiele.
Grüße
Biber
[Edit]
Viiiel langsamer getippselt als svenac2010 --- und ist jetzt gegenstandslos.
{/Edit]
upps, sorry, ich hatte immer noch Bezug genommen auf die (korrigierte) Version der "SELECT Count(*)"-Abfrage aller Hauptbetriebsstätten eines Betriebes.
Okay, dann muss die Ursache noch banaler sein - ist denn die vielleicht die "Betriebsnummer" ein numerischer Wert und "varwert" ein Text?
Wäre im moment das Einzige, was mir noch einfiele.
Grüße
Biber
[Edit]
Viiiel langsamer getippselt als svenac2010 --- und ist jetzt gegenstandslos.
{/Edit]