Discussion:
A00 VBA suchen in Tabelle mit Vornamen und Namen
(zu alt für eine Antwort)
Peter Witt
2008-02-03 16:18:57 UTC
Permalink
Hallo,

ich möchte mit VBA in einer Tabelle mit Feld_Vornamen und Feld_Namen sowie
numerischem Primärschlüssel via Suchformular suchen.
Wie bekannt kann es in solchen Tabellen ja z.B Karl Meier und Klaus Meier
geben.. Ich stehe im Moment auf dem Schlauch wie man das am günstigsten
angeht.
Kann mir vielleicht jemand einen Tipp geben?

Gruß
Peter
Mark Doerbandt
2008-02-03 16:24:52 UTC
Permalink
Hallo, Peter,
Post by Peter Witt
ich möchte mit VBA in einer Tabelle mit Feld_Vornamen und Feld_Namen sowie
numerischem Primärschlüssel via Suchformular suchen.
Wie bekannt kann es in solchen Tabellen ja z.B Karl Meier und Klaus Meier
geben..
mir ist momentan unklar, wo genau das Problem ist. Lies doch mal FAQ
Punkt 4.4 (http://www.donkarl.com). Dann hast Du ja zwei Felder und
wirst noch in der OH nach "OR" suchen muessen. Vielleicht auch noch
nach "Like"...

Gruss - Mark
--
2. SEK (SQL Server-Entwickler-Konferenz) in Nürnberg:
12./13.4 und 19./20.4.2008 http://www.donkarl.com/SEK

Bitte keine eMails auf Newsgroup-Beiträge senden.
Peter Witt
2008-02-03 21:58:12 UTC
Permalink
Irgendwie haben mich die Antworten nicht weiter gebracht. Ich habe eine
Tabelle Benutzer mit den Feldern BNo, Vorname, Nachname, aktiv, TeamNo.
Ich habe ein Suchformular mit zwei ungebundenen Feldern zur Eingabe der
$Variablen VVorname und VName mit denen auf Buttonklick in der Tabellen
Benutzer gesucht werden soll.
Ich habe das nun so gelöst dass ich die beiden Variablen global deklariert,
mittels Funktion zurückgebe und als Kriterien für eine Abfrage benutze. Ich
probiere das ganze noch mit SQL.
Gerne hätte ich es mit einem Mehrfelderindex und der Seek Methode (rs
dbOpenTable) probiert aber leider hab ich das nicht geschafft. Evtl. kann
mir jemand hierfür ein Beispiel(db) nennen. Bei meiner DB ist der Verweis
DAO 3.60 gesetzt.

Gruss
Peter
Jens Schilling
2008-02-04 07:12:31 UTC
Permalink
Hallo, Peter
Post by Peter Witt
Irgendwie haben mich die Antworten nicht weiter gebracht. Ich habe
eine Tabelle Benutzer mit den Feldern BNo, Vorname, Nachname, aktiv,
TeamNo. Ich habe ein Suchformular mit zwei ungebundenen Feldern zur
Eingabe der $Variablen VVorname und VName mit denen auf Buttonklick
in der Tabellen Benutzer gesucht werden soll.
Ich habe das nun so gelöst dass ich die beiden Variablen global
deklariert, mittels Funktion zurückgebe und als Kriterien für eine
Abfrage benutze. Ich probiere das ganze noch mit SQL.
Gerne hätte ich es mit einem Mehrfelderindex und der Seek Methode (rs
dbOpenTable) probiert aber leider hab ich das nicht geschafft. Evtl.
kann mir jemand hierfür ein Beispiel(db) nennen. Bei meiner DB ist
der Verweis DAO 3.60 gesetzt.
Schau doch mal in diesen Thread :

http://www.access-programmers.co.uk/forums/showthread.php?t=99353

Darin kannst Du die Demo < dbSearchExample.zip > finden, in der es u.a. um
die Suche nach Vor- und Nachnamen geht, zudem ist ein Listenfeld involviert,
dass eine Mehrfachselektion zulässt; dass klingt in etwas nach dem, was Du
beschreibst.

Zum Seek sei angemerkt, dass Du es auf eingebundene Tabellen ( und die
Aufteilung in Front- und Backend wird ja empfohlen ) nicht wie gewohnt
einsetzen kannst, sondern etwas anders vorgehen musst. Wenn Du diesen Weg
weiterverfolgen möchtest, schau doch eimal hier vorbei :

Seek in verknüpften Tabellen
http://www.ardiman.de/datenbanken/access/seek.html
--
Gruss
Jens
______________________________
2. SEK (SQL Server-Entwickler-Konferenz)
Nürnberg, 12./13.4 und 19./20.4.2008
FAQ: http://www.donkarl.com
Henry Habermacher
2008-02-08 03:00:52 UTC
Permalink
Hallo Peter
Post by Peter Witt
Irgendwie haben mich die Antworten nicht weiter gebracht. Ich habe eine
Tabelle Benutzer mit den Feldern BNo, Vorname, Nachname, aktiv, TeamNo.
Ich habe ein Suchformular mit zwei ungebundenen Feldern zur Eingabe der
$Variablen VVorname und VName mit denen auf Buttonklick in der Tabellen
Benutzer gesucht werden soll.
Ich habe das nun so gelöst dass ich die beiden Variablen global
deklariert, mittels Funktion zurückgebe und als Kriterien für eine
Abfrage benutze. Ich probiere das ganze noch mit SQL.
Gerne hätte ich es mit einem Mehrfelderindex und der Seek Methode (rs
dbOpenTable) probiert aber leider hab ich das nicht geschafft. Evtl. kann
mir jemand hierfür ein Beispiel(db) nennen. Bei meiner DB ist der Verweis
DAO 3.60 gesetzt.
Du musst nur aufgrund der Eingaben das Filter des Formulares setzen. z.B. so
(in der VBA Prozedur der Suchen Schaltfläche "cmdSuchen_Click()"):

Me.Filter = ""
Me.FilterOn = False
If not isnull(Me!SuchBNo) Then
Me.Filter = "BNo=" & Me!SuchBNo
Me!SuchVorname = NULL
Me!SuchNachname = NULL
Me.FilterOn = True
Else
Me.Filter = "Vorname LIKE '" & Me!SuchVorname & "*'" & _
" AND Nachname LIKE '" & Me!SuchNachname & "*'"
Me.FilterOn = True
End If


Des weiteren kannst Du beim AfterUpdate Ereignis des SuchNachname und
SuchVorname Eingabefeldes noch folgenden Code reinsetzen:
Me!SuchBNo = NULL

und beim SuchBNo Eingabefeld:
If not isnull(Me!BNo) Then
Me!SuchVorname = NULL
Me!SuchVorname = Null
Call cmdSuchen_Click
End If

HTH
Henry
--
SEK2 Anmeldung: http://donkarl.com/?SEK
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com
Gunter Avenius
2008-02-03 16:23:38 UTC
Permalink
Hallo Peter Witt,
Post by Peter Witt
Hallo,
ich möchte mit VBA in einer Tabelle mit Feld_Vornamen und Feld_Namen sowie
numerischem Primärschlüssel via Suchformular suchen.
Wie bekannt kann es in solchen Tabellen ja z.B Karl Meier und Klaus Meier
geben.. Ich stehe im Moment auf dem Schlauch wie man das am günstigsten
angeht.
Kann mir vielleicht jemand einen Tipp geben?
Schaue Dir mal das Suchformular in der KnowHow (www.freeaccess.de) an.

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
http://www.ribboncreator.de

SQL Server-Entwickler-Konferenz: www.donkarl.com/?SEK
Sa/So 12./13.04.2008 und Sa/So 19./20.04.2008
Dieter Fillsner
2008-02-03 21:46:02 UTC
Permalink
Post by Peter Witt
Hallo,
ich möchte mit VBA in einer Tabelle mit Feld_Vornamen und Feld_Namen sowie
numerischem Primärschlüssel via Suchformular suchen.
Wie bekannt kann es in solchen Tabellen ja z.B Karl Meier und Klaus Meier
geben.. Ich stehe im Moment auf dem Schlauch wie man das am günstigsten
angeht.
Kann mir vielleicht jemand einen Tipp geben?
Gruß
Peter
Hi Peter,
ich baue für diesen Fall folgende SQL auf (Luftcode):
Select Name, Vorname, ID,... From Kunde WHERE Name Like 'Meyer*'
->rein in Liste

Dann kommen alle Meyer..... raus und Du kannst per DblClick wählen

Gruß
Dieter
Horst Kleinau
2008-02-04 09:41:20 UTC
Permalink
Post by Dieter Fillsner
Post by Peter Witt
Hallo,
ich möchte mit VBA in einer Tabelle mit Feld_Vornamen und Feld_Namen sowie
numerischem Primärschlüssel via Suchformular suchen.
Wie bekannt kann es in solchen Tabellen ja z.B Karl Meier und Klaus Meier
geben.. Ich stehe im Moment auf dem Schlauch wie man das am günstigsten
angeht.
Kann mir vielleicht jemand einen Tipp geben?
Gruß
Peter
Hi Peter,
Select Name, Vorname, ID,... From Kunde WHERE Name Like 'Meyer*'
->rein in Liste
Dann kommen alle Meyer..... raus und Du kannst per DblClick wählen
Gruß
Dieter
HalloDieter!

In diesem Falle verwende ich immer im Formular ein Kombinationsfeld zum
Suchen eines Datensatzes.
Wenn Du möchtest, schicke ich Dir eine Anleitung
Die Datenherkunft für dieses Steuerelement ist dann ebenfalls eine SQL .
Ergänzen würde ich sie durch ...,ORDER BY [Nachname]. Wenn Du den
Anfangsbuchstaben drückst werden alle Nachnamen ab diesem Buchstaben zur
Auswahl aufgelistet.
Ein Suchformular ist (glaube ich) dann sinnvoll, wenn mehrere
Auswahlkriterien erforderlich sind.

(NICHT [NAME] verwenden weil das ein Schlüsselfeld von Access ist.)

Gruß Horst
Frank Müller
2008-02-04 05:48:33 UTC
Permalink
Hallo Peter,
Post by Peter Witt
ich möchte mit VBA in einer Tabelle mit Feld_Vornamen und Feld_Namen
sowie numerischem Primärschlüssel via Suchformular suchen.
Soweit ja nicht unüblich. Aber was für Suchfelder hast du
denn im Formular bzw. wonach möchtest du genau suchen?

Nur nach dem Vornamen, dem Nachnamen oder genau dem
was beiden entspricht.
Post by Peter Witt
Wie bekannt kann es in solchen Tabellen ja z.B Karl Meier und Klaus
Meier geben.
Wenn du konkret nach Vor- und Nachnamen suchen möchtest,
dann: Select ... From Tabelle Where Vorname = 'Karl' And Nachname = 'Meier'
Post by Peter Witt
Ich stehe im Moment auf dem Schlauch wie man das am
günstigsten angeht.
Du mußt zuerst mal definieren wonach du suchen möchtest.
Was ist wenn in deinem Formular nur der Nachname ausgefüllt
wird? Soll dann nur nach Meier gesucht werden also der Karl
und der Klaus gefunden werden?

Oder möchtest du dass sowohl Maier, Meyer, Meier usw. gefunden werden?

Bei solchen Sachen ist es immer praktisch zuerst die
Eingaben im Formular auszuwerten und falls vorhanden
daraus den entsprechenden SQL String zusammen zu bauen.
Dann kannst du entscheiden ob nach Vor- und Nachname
gesucht werden soll oder nach Teilbereichen mit LIKE
in einem der Tabellenfelder.
Post by Peter Witt
Kann mir vielleicht jemand einen Tipp geben?
Gib mal einen etwas konkreteren Tipp was deine Suche
überhaupt leisen soll ganz unabhängig von deinem VBA
Code. Dann wissen wir mehr.

Gruß,
Frank
Peter Witt
2008-02-04 07:42:00 UTC
Permalink
Hallo Frank,
mein Formular prüft ob Vorname und Nachname (beide erforderlich) eingeben
sind. Dann suche ich per SQL in der Tabelle, das klappt jetzt, danke.

Gruss
Peter
Loading...