Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Suchbutton

Begonnen von maniaspets, Oktober 12, 2010, 07:49:55

⏪ vorheriges - nächstes ⏩

maniaspets

Benötige für mein Adressetikettenformular einen Suchbutton der mir die benötigten Einträge sucht.

mfg
Manuel

maniaspets

Wichtig ist auch zum Beispiel wenn es mehrere mit dem selben Nachnamen gibt diese dann alle anzeigt damit man sich den richtigen suchen kann.

mfg
Manuel

database

Hallo,

die Argumente sind ja nicht gerade sehr umfangreich!
Suchbutton ist eine recht magere umschreibung für ein ausserordentlich komplexes Thema.
Es ist ein Unterschied ob du nach einem bestimmten Eintrag SUCHEN möchtest oder gedenkst den Formularinhalt nach einem bestimmten Kriterium zu FILTERN.

Ich habe in meine Kristallkugel geschaut und gesehen, dass es da ein relativ einfache Möglichkeit gibt - Eine Auswahl mittels Kombifeld.
Der Vorteil ist jener, dass nur 'Suchbegriffe' verwendet werden, die in der Datenbank auch tatsächlich vorkommen,
das Feld beim Reinschreiben eine Auto-Complete - Funktionalität aufweist
und einen nicht unerheblichen Vorteil hat, dass sowas recht schnell und unkompliziert zu bewerkstelligen ist und keine neues Formular benötigt wird.

Du brauchst auf deinem Adressformular lediglich ein ungebundenes Kombifeld zusätzlich, (ungebunden, 3 Spalten, Spaltenbreiten 0;4;5
Datenherkunft ist eine Abfrage auf die Tabelle tblAdressen,
ein verstecktes Textfeld aus der Datenherkunft des Formulars (ID)
und 4 Zeilen VBA im Ereignis 'Nach Aktualisierung' des Kombifeldes.

Ich hab' das mal schnell zusammengeschoben und in der Anlage angehängt.
Darin sind auch die Änderungen begl. Etikettenvorschau und des gewünschten 'Speichern' - Buttons enthalten.
Das Textfeld ID musst du noch auf 'sichtbar' - nein in den Formular-/Steuerelementeigenschaften setzen!

Schau dir das mal an ...  ;)

HTH

Peter

[Anhang gelöscht durch Administrator]

maniaspets

Danke mal für diese Zusammenstellung.

Die Sache ist nur die Liste wird Sehr Lang wenn einmal über 100 Datensätze existieren.

database

Zitatdie Liste wird Sehr Lang wenn einmal über 100 Datensätze existieren

das stimmt - nur bedingt, denn ...

wenn du den Nachnamen kennst und beginnst diesen ins Kombifeld zu schreiben, dann wirst du sehen, dass sich der Name automatisch zu vervollständigen beginnt.
Klappst du nun das Kombifeld auf, stehst du am ersten aller in Frage kommender Einträge - wenn du 100 Meier in der Adressdatenbank hast - ist es klar dass auch 100 Meiers angezeigt werden, die aber sind dann an PLZ und Ort zu unterscheiden.

Wenn du das treffsicher machen willst, musst du in der Adresstabelle auch die SV-Nummer der Personen mitspeichern
oder sonst eine EINDEUTIGE Kennzahl, die dir dann aber bei der Auswahl auch bekannt sein MUSS.

Alles klar?

maniaspets

Ja Stimmt.

Funktioniert auch sehr gut

So jetzt müsste ich noch eins erledigen.

Da diese sogennatent Ärzte auch keine Genies in Access sind müsste ich noch einen Button erstellen der einfach einen Neuen Datensatz beginnt also so das eine neue Id beginnt und nichts drinnen steht.

database

Aber hallo,

Zitatauch keine Genies in Access
tja, wer ist das schon ... ?

Aber diesen Genialbutton gibts doch schon!

In meinem Beispiel heißt der 'Speichern und Neu'

Klick mal drauf, der erzeugt einen neuen Datensatz und die Eingabe von Adressdaten kann losgehen.

Peter

maniaspets

Leider funktioniert dieser nicht ganz,

wenn man ihn drückt wird es zwar gespecihert aber es erscheint kein leerer Datensatz.

maniaspets

Bräuchte diesen aber einzeln denn wenn sie einen speichern diesen aber gleich ausdrücken wollen/müssen, müssen sie ihn zuerst wieder suchen.

database

Schau mal im Formularentwurf ...

klick auf den Button und schau mal auf die Registerkarte 'Ereignisse' ... da MUSS [Ereignisprozedur] stehen.
Wenn nicht, dann wähle den Eintrag aus der Dropdownliste aus und klicke danach auf die 3 Punkte.

Du solltest jetzt folgendes sehen:


Private Sub SpeichernUndNeu_Click()

   DoCmd.RunCommand acCmdSaveRecord
   DoCmd.GoToRecord , , acNewRec

End Sub


wenn das so ist, kannst du wieder alles schließen und speicherst das Formular!
Formular schließen und dann neu öffnen - jetzt sollte es richtig  funktionieren - auch in Ried im Innkreis    ;) ;D ;)

database

Naj, dann erstellst du einen zusätzlichen Button, nennst ihn meinetwegen 'cmdNeu'
in dessen Klick-Ereignis schreibst du


Private Sub cmdNeu_Click()

    DoCmd.GoToRecord , , acNewRec

End Sub


und bim Button SpeichernUndNeu nimmst du diesen Code raus und läßt nur das mit dem SaveRecord drin stehen.
Button SpeichernUndNeu umbenennen z.B. auf 'cmdSpeichern'
und die Ereignisprozedur ebenfalls umbenennen - NICHT vergessen, sonst gehts nicht -

sollte dann fertig so aussehen


Private Sub cmdSpeichern_Click()

    DoCmd.RunCommand acCmdSaveRecord

End Sub


OK?
Vorsichtshalber habe ich das Beispiel gleich mal mitgeändert und nochmals angehängt.

[Anhang gelöscht durch Administrator]

database

Sag' mal...

nach dem ich mal stark annehme, dass du dieser Spezies nicht zuzuodnen bist ...
ZitatDa diese sogennatent Ärzte auch keine Genies in Access sind

...was machst du beruflich so in diesem Kankenhaus?

maniaspets

ja erst mal danke für deine Hilfe.

Nein zu denen gehöre ich nicht.

Ich arbeite in der EDV-Abteilung und habe meiste zeit mit Hardware etwas zu tun, also mit dne Druckern und den Pc

aber manchmal kann es schon vorkommen das man etwas programmieren muss bzw öfter muss man bei software problemen helfen.

mfg
Manuel

database

Aha, also quasi die Ausbildung zum IT-Techniker ... interessanter Job ...

Naja - dann ...  viel Spaß und Erfolg!

maniaspets

ja genau.

Danke werd ich haben.