Hallo, hoffe Ihr könnt mir helfen. Ich bin neu hier und auch im Umgang mit Access nicht so fit.
Ich nutze Access 2007.
Mein Problem liegt bei der Abfrage Funktion.
Ich habe eine Tabelle mit Kundendaten angelegt, nun möchte ich das er mich um die Eingabe des Firmennamens bittet. Das bekomme ich noch hin. Aber was ist wenn ich nicht weis welche Firmen hinterlegt sind? Ich möchte also z.B. den ersten Buchstaben eingeben und eine Tabelle dahinter daneben oder davor soll alle Firmen die mit dem eingegeben Buchstaben beginnen anzeigen. Bei Eingabe eines weiteren Buchstaben soll die Tabelle weiter ausdünnen. Das ganze soll solange weitergehen bis halt eine überbleibt.
Wie kann ich das machen, oder geht das oder so etwas in der Art überhaupt?
Hallo,
das Ganze lässt sich leicht komplett mit einem Formular, das letzendlich den gesuchten Kunden anzeigt, und einem Kombifeld erledigen
Kombi "cmbFirmaSuchen"
Steuerelementinhalt: leer
Datensatzherkunft: Select KundenID, FirmaName from tblKunden order by FirmaName
Gebundene Spalte: 1
Spaltenanzahl: 2
Spaltenbreiten: 0cm;4cm
und mit dieser Ereignisprozedur:
Sub cmbFirmaSuchen_Click()
Me.Filter = "KundenID= " & Me!cmbFirmaSuchen
Me.FilterOn=true
End Sub
wobei KundenID der Primärschlüssel der Tabelle tblKunden vom Datentyp Zahl,Long (bzw. Autowert) ist.
Danke erstmal, nur hab ich nix verstanden.
Hallo,
na das ist aber nicht soooo schwer zu verstehen ;)
Auf deinem Formular erstellst du ein Kombinationsfeld und benennst es 'cmbFirmaSuchen'
In den Eigenschaften des Kombifeldes (natürlich im Entwurfsmodus) gibst du die Parameter so an, wie Franz es vorgeschlagen hat.
Dann gehst du auf die Registerkarte 'Ereignis' dort auf 'Beim Klicken' und wählst aus dem Dropdown den Eintrag [Ereignisprozedur] aus,
klickst danach auf die 3 Punkte neben dem Eintrag und befindest dich im VBA-Editor des Klickereignisses.
Hier gibst du dann den Code ein, den Franz in seiner Antwort gepostet hat.
Für Informationen rund um die Erstellung und Handhabung eines Kombifeldes siehe bitte mal in die OH oder auf die Herstellerseiten ... z.B:
http://office.microsoft.com/de-de/access-help/CH006366199.aspx (http://office.microsoft.com/de-de/access-help/CH006366199.aspx)
HTH
Aha, danke. Ich bin schon ein wenig weiter. Bekomme doch immer eine Fehlermeldung.
Meine Tabelle besteht aus den Spalten ID, Kunde/Firma, Adresse, Telefon, Fax, AP, APTel, APFax,und KD.Nr.
Das mit dem Kombinationsfeld hab ich, in diesem werden auch die Kunden angezeigt, wenn ich aber einen auswähle, dann zeigt er mir einen Laufzeitfehler 2465 mit dem Text das der Ausdruck cmdFirmaSuchen nicht gefunden werden kann.
Was mache ich falsch?
Hallo,
heißt denn das Kombifeld nun auch "cmdFirmaSuchen" ???
Ausserdem heißt (lt. Deiner letzten Beschreibung) das Primärschlüsselfeld "ID" :
Me.Filter = "ID= " & Me!NameDeinesKombifldes
Die Datensatzherkunft des Kombi muss ebenfalls an die korrekten Namen angepasst werden.
btw: wenn "Kunde/Firma" der Name eines Tabellenfeldes ist, dann ändere den dringend(!!!) ab, z. B. in "FirmaKundeName" .
Ein "/" -Zeichen in Namen wird als Divisor-Operant interpretiert , wenn keine Gegenmassnahmen in Form von einschliessenden Eckklammern ergriffen werden.
Danke. Jetzt hats geklappt.