Forums Neueste Beiträge
 

SQL Statement funktioniert nur mit ORDER BY

27/06/2008 - 09:45 von Harald Battran | Report spam
Hallo,

die Datenbank ist Access 2007 und ich benötige Hilfe:

Diese Abfrage ergibt immer nur 1 Datensatz. Es müssten aber 4 sein:

Dim rsQR As Recordset
TablenameQR = "Zuord_Vermittler"
Set rsQR = CurrentDb.OpenRecordset("SELECT * FROM " & TablenameQR
& " WHERE ((" & TablenameQR & ".ADPNR)43)", dbOpenSnapshot)
MsgBox (rsQR.RecordCount & " Datensàtze in " & TablenameQR & "
ausgewàhlt")


Als Abfrage formuliert ergibt nachfolgendes SQL-Statement 4 Datensàtze

SELECT Zuord_Vermittler.ADPNR FROM Zuord_Vermittler WHERE
(((Zuord_Vermittler.ADPNR)43));

Was làuft hier falsch? Hat irgendjemand eine Erklàrung für einen VBA-
Neuling?

Wenn ich das Statement von oben um eine Sortorder ergànze, dann findet
auch der VBA-Code 4 Datensàtze:

Dim rsQR As Recordset
TablenameQR = "Zuord_Vermittler"
SortOrderQR = "ADPNR, MONLAUF"
Set rsQR = CurrentDb.OpenRecordset("SELECT * FROM " & TablenameQR
& " WHERE ((" & TablenameQR & ".ADPNR)43) ORDER BY " & SortOrderQR,
dbOpenSnapshot)
MsgBox (rsQR.RecordCount & " Datensàtze in " & TablenameQR & "
ausgewàhlt")

Warum ist das so??? Sollte das SELECT nicht alle Datensàtze finden
egal wie sortiert ist??????? Alle Felder sind indiziert (Duplikate
möglich).

Bin sehr verunsichert bzgl. der SQL-Statements die ich noch machen
muss.

Für Aufklàrung sehr dankbar.
Harald Battran
 

Lesen sie die antworten

#1 Jürgen Volke
27/06/2008 - 09:49 | Warnen spam
Hallo Harald
************************************************
die Datenbank ist Access 2007 und ich benötige Hilfe:

Diese Abfrage ergibt immer nur 1 Datensatz. Es müssten aber 4 sein:

Dim rsQR As Recordset
TablenameQR = "Zuord_Vermittler"
Set rsQR = CurrentDb.OpenRecordset("SELECT * FROM " & TablenameQR
& " WHERE ((" & TablenameQR & ".ADPNR)43)", dbOpenSnapshot)
MsgBox (rsQR.RecordCount & " Datensàtze in " & TablenameQR & "
ausgewàhlt")


Als Abfrage formuliert ergibt nachfolgendes SQL-Statement 4 Datensàtze

SELECT Zuord_Vermittler.ADPNR FROM Zuord_Vermittler WHERE
(((Zuord_Vermittler.ADPNR)43));

Was làuft hier falsch? Hat irgendjemand eine Erklàrung für einen VBA-
Neuling?
**********************************************

wahrscheinlich gilt auch hier noch FAQ 6.17 !


******************************************************
Wenn ich das Statement von oben um eine Sortorder ergànze, dann findet
auch der VBA-Code 4 Datensàtze:

Dim rsQR As Recordset
TablenameQR = "Zuord_Vermittler"
SortOrderQR = "ADPNR, MONLAUF"
Set rsQR = CurrentDb.OpenRecordset("SELECT * FROM " & TablenameQR
& " WHERE ((" & TablenameQR & ".ADPNR)43) ORDER BY " & SortOrderQR,
dbOpenSnapshot)
MsgBox (rsQR.RecordCount & " Datensàtze in " & TablenameQR & "
ausgewàhlt")

Warum ist das so??? Sollte das SELECT nicht alle Datensàtze finden
egal wie sortiert ist??????? Alle Felder sind indiziert (Duplikate
möglich).

****************************************************

wahrscheinlich wird für die Sortierung das gesamte RS durchlaufen

Gruß Jürgen

Ähnliche fragen