Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: italo am August 27, 2011, 13:53:05

Titel: Abfrage Hilfe
Beitrag von: italo am August 27, 2011, 13:53:05
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?
Titel: Re: Abfrage Hilfe
Beitrag von: DF6GL am August 27, 2011, 15:42:19
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.
Titel: Re: Abfrage Hilfe
Beitrag von: italo am August 27, 2011, 22:35:25
Danke erstmal, nur hab ich nix verstanden.
Titel: Re: Abfrage Hilfe
Beitrag von: database am August 28, 2011, 09:35:00
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
Titel: Re: Abfrage Hilfe
Beitrag von: italo am August 28, 2011, 17:08:31
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?
Titel: Re: Abfrage Hilfe
Beitrag von: DF6GL am August 28, 2011, 19:37:18
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.
Titel: Re: Abfrage Hilfe
Beitrag von: italo am August 29, 2011, 21:24:27
Danke. Jetzt hats geklappt.