Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Suchfunktion ACCESS HILFE!!!





Frage

Hallo! In meiner Datenbank habe ich für das Hauptformular eine Suchfunktion eingebaut, die nahezu alle Felder durchsucht. Funktioniert soweit gut - allerdings: wenn kein Datensatz gefunden wird, wird ein neuer angelegt und die Datenbank bläht sich mit leeren Datensätzen auf. Hier ist der Code: Private Sub suchbutt_Click() Dim sSQL As String sSQL = "SELECT * FROM [kundendaten] " sSQL = sSQL & " WHERE [winkhausKdnr] LIKE ´*" & suche & "*´ OR [herstellerZW1] LIKE ´*" & suche & "*´ OR ...usw. Me.RecordSource = sSQL suche.SetFocus End Sub Kennt jemand die Lösung, dass bei "Nichtgefunden" kein neuer Datensatz entsteht? Vielen Dank.

Antwort 1 von Teddy7

Falsche Technik !
Üblicherweise zeigt man die Treffer in einem Endlosformular an.
Die Selektion gibt man dabei beim Öffnen des Formulars mit.

Gruß
Teddy

Antwort 2 von yuna

Hallo,
Hier eine kurze Anleitung:

Unter Formular -> Eingenschaften -> Format -> Standardansicht wird "Endlosformular" eingestellt.

Unter Daten Formular -> Eigenschaften->Datenherkunft = "Kundendaten"

Der Code sieht dann so aus:

Private Sub suchbutt_Click()
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "FormularName"

stLinkCriteria = "[herstellerZW1]=" & "´" & Me![Suche] & "´"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub

Mit dem Click auf den Button wird Dein Formular nocheinmal , unter Verwendung eines Filters geöffnet. Die Filter Bedingung wird in der String Variable stLinkCriteria gespeichert. Ein Filter ist ähnlich wie eine SQL Anweisung aufgebaut. Es fehlt jedoch das "Where". Ob Dinge wie Like erlaubt sind weiß ich nicht. Das musst du ausprobieren.

Antwort 3 von Lemmy0512

Vielen Dank - das Problem wurde mit Eurer Hilfe gelöst!!!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: