Liste zeigt keine Datensätze an

Hallo,
ich versuche schon seit tagen ein programm zu entwerfen, das mir unter der bedingung von einem textfeld(eingabe) daten aus meinen verknüpften tabellen anzeigt, jedoch zeigt er mir nichts an, nur der count funktioniert … wenigstens etwas :wink: über schnelle hilfe würde ich mich sehr freuen !
Hier der Code :

Const str1SQL = "SELECT tbl_Menschenanzahl.tbl_Menschenanzahl, tbl_Mensch.Essensmenge, tbl_Mensch.Name, tbl_Kategorie.Kategorie, tbl_Unterkategorie.Unterkategorie, tbl_Standorte.Standort, tbl_Mensch.Alter FROM tbl_Unterkategorie INNER JOIN ((tbl_Kategorie INNER JOIN tbl_Mensch ON tbl_Kategorie.ID_Kategorie = tbl_Mensch.FK_ID_Kategorie) INNER JOIN (tbl_Standorte INNER JOIN tbl_Menschenanzahl ON tbl_Standorte.ID_Heim = tbl_Menschenanzahl.FK_ID_Standort) ON tbl_Mensch.ID_Mensch = tbl_Menschenanazhl.FK_ID_Mensch) ON tbl_Unterkategorie.ID_Unterkategorie = tbl_Mensch.FK_ID_Unterkategorie "

Private Sub los_Click()
Dim StrSQL As String
StrSQL = str1SQL & " Where tbl_Mensch.Essensmenge =’" & txt_anzahl & „’ ;“

txt_Count = lst_view.ListCount - 1
lst_view.RowSource = StrSQL
lst_view.Requery

End Sub

mfg Tim

Hallo Tim,
um deine Frage beantworten zu können habe ich zunächst selbst ein paar Fragen.

Wonach soll denn selectiert werden, ist txt_anzahl eine numerische Variable und wenn ja, wofür sind denn die Hockkommata?
(tst = txt / Anzahl = numerisch?)

Liefert das SQL Statement ein Ergebnis wenn du keine Selection vornimmst und gibt es Gründe dafür eine Konstante Variable zu verwenden?

Gruß
Peter

Sorry, da kann ich nicht weiterhelfen

Lieber Tim,
es tut mir leid, ich kann mit deiner SQL-Abfrage nichts anfangen. Mach doch eine ACCESS-Abfrage draus, dann kann ich dir vielleicht helfen!

Gruß
Eckart

txt_anzahl ist ein text feld,in das ein wert eingegeben werden kann und dann die tabelle nur die menschen anzeigt, die diese bestimmte essensmenge oder weniger zu sich nehmen.
das mit den hochkomma hab ich so aufgenommen im access buch … aber anscheinend nicht ganz richtig ?

wenn ich kein ergebnis angebe , sollte auch niemand aufgelistet werden, da der wert gleich null wäre, dachte ich mir …

Hallo Tim,

da steige ich leider nicht durch. Ich hoffe, es findet sich jemand, der das Problem lösen kann.

Grüße
achim

Hallo,
ohne die genauen Details der DB zu kennen (wäre doch ganz hilfreich, zumindest mal die Relationen und ein Screenshot des fraglichen Formulars) - ich würde mal die DOMWERT-Funktionen (engl.dlookup)ausprobieren. Schau mal hier http://www.office-loesung.de/ftopic197316_0_0_asc.php kommt das dem Problem irgendwie nahe??

VG
S.H.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Tim, wäre es möglich das Du die Tabelle mit 2-3 Zeilen Einträgen postest?

Hallo,
ok sollte kein Problem sein.
Um ein Textfeld abzufragen brauchst du die Hochkomma, um ein Zahlenfeld abzufragen sind sie falsch. Wenn es sich bei dem Feld in deiner Tabelle um ein numerisches Feld handelt, dann nimm die Hochkommata aus der Abfrage raus.
Nichts anzugeben bei einer Abfrage die sich auf ein Zahlenfeld bezieht ist auch nicht besonders sinnvoll, nichts ist NULL, das führt dann möglicherweise zu einem Fehler, also lieber eine 0 als Standard vorgeben, wenn es auch Personen gibt, bei denen eine 0 in diesem Feld stehen kann, dann setze eben 99999 ein, das sollte niemand haben.
Teste die geänderte Abfrage, im Fehlerfall nächste Frage von mir, funktioniert die Abfrage ohne Selektionskritieren?

Gruß
Peter

Hallo

Leider kann ich nicht helfen, da ich schon längere zeit nicht mehr mit Access beschäftigt bin. Es tut mir leid, keine bessere Antwort geben zu können.

Kurt

vielen dank für die antwort :smile:
hat sich geklärt, der einzige fehler in dem code waren bei der where abfrage die hochkommas …
vielen dank :smile: