Commander_COM Geschrieben 5. Februar 2003 Teilen Geschrieben 5. Februar 2003 Ok, die Suchfunkution hats nichtz gebracht, also hier die Frage.... Ich hab ne Abfrage und möchte in die SQL-Anweisung dieser Abfrage den Inhalt eines Textfeldes mit als where-Bedingung hineinnehmen. Wie lautet die korrekte Syntax, mit der ich dieses Feld ansprechen kann. Das ganze soll OHNE VBA gehen... Bsp: Select Bsp from Bsptab where bspnr= [Feldinhalt] THX4URHLP Cmd.COM Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-0x51- Geschrieben 5. Februar 2003 Teilen Geschrieben 5. Februar 2003 Moin Commander_COM; ich verstehe deine Frage zwar nicht ganz, aber ich interpretiere einfach mal nen bisschen. Kann es sein, dass du einen Teil des Feldes bspnr suchst ? Dann wäre es so: SELECT [bsp] FROM [bsptab] WHERE [bspnr] LIKE [%Feldinhalt%] Stünde dann in dem Feld zB eine 2 wäre das Resultset alles, wo eine 2 vorkommt. Die %-Zeichen stehen für ein beliebiges Zeichen vor und hinter dem inhalt von [Feldinhalt]. Oder suchst du einen Satz, wo [Feldinhalt] in einer anderen Tabelle steht, allerdings auch das Feld [bspnr] darstellt? Dann wäre es so: SELECT [bsp] FROM [bsptab] WHERE [bspnr] IS IN (SELECT [bsp1] FROM [bsptab2] WHERE [bspnr] = [Feldinhalt]) Gruß [0x51] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SMU Geschrieben 5. Februar 2003 Teilen Geschrieben 5. Februar 2003 yo die Idde is schon ma net schlecht das Problem ist nur das es um ein Suchformular geht und das eine Feld ein Eingabefeld im Formular ist und nicht in einer Tabelle steht. (net wundern sitz bei Commander_COM) Thx4uhelp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SMU Geschrieben 5. Februar 2003 Teilen Geschrieben 5. Februar 2003 yo die Idde is schon ma net schlecht das Problem ist nur das es um ein Suchformular geht und das eine Feld ein Eingabefeld im Formular ist und nicht in einer Tabelle steht. (net wundern sitz bei Commander_COM) Thx4uhelp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-0x51- Geschrieben 5. Februar 2003 Teilen Geschrieben 5. Februar 2003 Wenn ich diesmal interpretiere, meinst du die Parameterabfrage in Access. Wenn das so sein sollte, dann schaue in der Online-Hilfe unter "Erstellen einer Parameter-Abfrage". Da kommt dann so ein kleines PopUp-Fenterchen, wo man einen Wert eingeben kann. Also Zum Beispiel: Bitte geben Sie eine Nummer für den Wert des Feldes [bspnr] an:" Gruß [0x51] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Commander_COM Geschrieben 6. Februar 2003 Autor Teilen Geschrieben 6. Februar 2003 hmm, nein ich meine mit Textfeld so ein kleines dummes ungebundenes Formularfeldchen, wo man selber Text neischreiben kann.... Das bekommt nen Namen und heißt zb Textfeld1 jetzt bei mir. so und dass was ich dann da reingeschrieben habe, soll mit in die sql anweisung eines zweiten feldes, welche bei den eigenschaften dieses zweiten feldes zu finden ist und DATEN-> Datensatzherkunft da steht irgendwo die Sql-Anweisung select blablabla und da soll ans Ende, where Nr=[Textfeld1.Value] oder so. wie ich nun genau dieses textfeld anspreche möchte ich gerne von euch wissen, denn das weiß ich net. So, ich hoffe, ich habs jetzt besser beschrieben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 6. Februar 2003 Teilen Geschrieben 6. Februar 2003 Vielleicht meinst du: Select * from Tabelle where Feld LIKE Forms!Formularname!Formularfeld.value; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Axelander Geschrieben 7. Februar 2003 Teilen Geschrieben 7. Februar 2003 Originally posted by [0x51] Moin Commander_COM; Die %-Zeichen stehen für ein beliebiges Zeichen vor und hinter dem inhalt von [Feldinhalt]. [0x51] @0x51: sorry, dass ich dich enttäuschen muss, aber % steht für beliebig viele Zeichen, das ? steht für ein Zeichen. @Commander_com: Wenn du ein ungebundenes Formular hast, dann hast du ohne VBA sowieso keine Chance. Ich nehme mal an, dass er Suchen soll, sobald du auf einen Button drückst. Hier mal ein Vorschlag für eine Kundensuche mit mehreren Suchoptionen: Private Sub btn_suchen_Click() Dim rst As DAO.Recordset Dim SQL As String ' Allgemeine Festlegungen If g_db Is Nothing Then Set g_db = CurrentDb() SQL = " SELECT K_Name. K_Vorname, K_Strasse FROM tbl_Kundendaten WHERE 1=1" if vartype(me.F_Name) <> vbnull then sql = sql & " AND K_Name LIKE '*" & me.f_name & "*'" end if if vartype(me.F_Vorname) <> vbnull then sql = sql & " AND K_Vorname LIKE '*" & me.f_vorname & "*'" end if if vartype(me.F_strasse) <> vbnull then sql = sql & " AND K_strasse LIKE '*" & me.f_strasse & "*'" end if set rst = db.openrecordset(sql) if rst.eof then msgbox "keine daten gefunden" else rst.movelast if rst.recordcount = 1 then docmd.openform "frm_Kunden_Anzeigen" else docmd.openform "frm_suchergebnis", openargs:=sql endif endif rst.close docmd.close acForm, Me.Name End Sub Erklärung: WHERE 1=1 erspart dir die Prüfung beim zusammensetzten vom SQL - String, ob du jetzt schon ein Where drin hast oder nicht Bei keinem gefundenen Kunden -> Fehlermeldung bei einem gefundenen Kunden -> Kunden dirket anzeigen bei mehreren gefundenden Kunden -> Auswahlformular öffnen. Gruß Alex Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.