Hallo,
ich möchte gerne per VBA ein Formular öffnen und die Daten dann nach 2 Kriterien filtern.
Also mit diesem Code kann ich das Formular nach einem Kriterium filtern.
DoCmd.OpenForm "auswahl_kunden", , , "kunart_id = 'LA'"
Aber wie mache ich das jetzt wenn ich zwei Kriterien übergeben will? Habe es so probiert:
DoCmd.OpenForm "auswahl_kunden", , , "kunart_id = 'LA'" AND "kun_id = " & Me!kun_id
Aber das funktioniert nicht. In der Access -Hilfe steht: Ein Zeichenfolgenausdruck, der einer gültigen SQL-WHERE-Klausel (WHERE-Klausel: Der Teil einer SQL-Anweisung, der angibt, welche Datensätze abgerufen werden sollen.) ohne das Wort WHERE entspricht.
Vielleicht kann mir jemand helfen...
Hallo,
versuche es so:
DoCmd.OpenForm "auswahl_kunden", , , "kunart_id = 'LA' And kun_id = " & Me!kun_id
PS:
Dass Du hier nach der Art und der ID filtern musst, deutet möglicherweise auf ein falsches Datenmodell hin. Die Kundenart sollte ich aus der Kun_id automatisch ergeben. Denn die Kundenart sollte als Fremdschlüssel nur in der Kundentabelle vorhanden sein.
ZitatPS:
Dass Du hier nach der Art und der ID filtern musst, deutet möglicherweise auf ein falsches Datenmodell hin. Die Kundenart sollte ich aus der Kun_id automatisch ergeben. Denn die Kundenart sollte als Fremdschlüssel nur in der Kundentabelle vorhanden sein.
Wie soll sich die Kundenart aus der Kun_id ergeben? Kun_id ist ein Autowert. Ich will in dem Formular kunden_auswahl nur die Lieferanschriften des ausgewähltem Kunden anzeigen. Oder was genau meintest du?
Hallo,
in der Tabelle mit den Kunden sollte es ein Fremdchlüsselfeld geben zur Kundenart. Und nur in dieser Tabelle.Das heist jeder Kunde hat eine bestimmte Kundenart.
Wenn jetzt ein Kunde über dessen ID gefiltert/gesucht wird, hast Du automatisch auch dessen Kundenart. Ein zusätzliche Filterung nach der Art ist somit überflüssig.
Hallo,
auf welcher Tabelle basiert das Form "auswahl_kunden" ?
"Ich will in dem Formular kunden_auswahl nur die Lieferanschriften des ausgewähltem Kunden anzeigen."
wenn es hier um eine Tabelle "KundenLieferanschriften" (ein bestimmter Kunde hat mehrere Lieferanschriften) handelt, dann muß diese in einer 1:n-Beziehung zur Tabelle "Kunden" stehen. Somit wäre in Deinem Fall die "kun_id" kein Primärschlüssel , bzw. Autowert, sondern ein Fremdschlüssel-Feld vom Datentyp Long
Die Filterung nach "kunart_id" wäre bei dieser Konstellation unklar... Dabei könnte es sich höchstens um ein Feld in, o. g. Tabelle handeln, das eben manche Einträge als "Lieferanschrift" kategoriesiert, im Gegnsatz zur Kundenadresse selber, die ebenfalls in dieser Tabelle hinterlegt ist und nicht in Tabelle "Kunden". Sinnvollerweise benamst man dann die Tabelle etwa so: "KundenAnschriften" (neben einer besseren Benamsung der Felder selber)
Insofern solltest Du zur Klärung des Sachverhaltes den Aufbau der betroffenen Tabellen uns mitteilen.