PDA

Vollständige Version anzeigen : Suche funktioniert nicht bei allen Kriterien


GordonShamway
08.07.2006, 09:51
Ich habe eine Tabelle Lieferant_TB und eine Tabelle Artikel_TB. Nun rufe ich aus dem Unterformular Artikel_UF (zeigt nur einen Teil der Daten der Tabelle_Artikel) mittels Button das Hauptformular Artikel_HF auf, in dem alle Daten der Tabelle_Artikel angezeigt werden. Im Unterformular Artikel_UF kann ich alle Artikel des im Lieferanten_HF aktuellen Lieferanten durchblättern.
Soweit funktioniert es. :)

Bei dem Aufruf des Hauptformular Artikel_HF (Suchkriterium Lieferant in Tabelle Artikel_TB) werden alle Artikel Datensätze des entsprechenden Lieferanten ausgegeben.

Code:
Private Sub Formular_Artikel_HF_öffnen_Click()

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Artikel_HF"

stLinkCriteria = "[Lieferant]=" & "'" & Me![Lieferant] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub

Funktioniert auch! :)

Problem
Bei dem Aufruf des Hauptformular Artikel_HF (Suchkriterium Artikelnummer in Tabelle Artikel_TB) soll nur der eine Artikel Datensätze des entsprechenden Lieferanten ausgegeben.

Code:
Private Sub Formular_Artikel_HF_öffnen_Click()

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Artikel_HF"

stLinkCriteria = "[Artikelnummer]=" & "'" & Me![Artikelnummer] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub.

Funktioniert aber nicht. Der Debugger wird aufgerufen und makiert folgendes:
DoCmd.OpenForm stDocName, , , stLinkCriteria

Was mache ich falsch?

Kann mir jemand einen Tip geben?

Gruss

Mano

Arne Dieckmann
08.07.2006, 10:11
Wenn Artikelnummer ein nummerisches Feld ist, musst du die Hochkommata weglassen:
stLinkCriteria = "[Artikelnummer]=" & Me![Artikelnummer]

GordonShamway
08.07.2006, 11:41
Danke, das war es.

Aber hier habe ich wieder das Problem. :stupid:
Kann mal jemand bitte den Code kontrollieren?

Code
Private Sub Suchen_Click()
Dim strLieferant As String
Dim strArtikelnummer As String

strLieferant = "'" & Me!Lieferant & "*'"
strArtikelnummer = "'" & Me!Artikelnummer

strSQL = "SELECT * FROM Artikel_TB WHERE Lieferant Like " & strLieferant & " AND Artikelnummer Like " & strArtikelnummer

DoCmd.Close

Forms("Artikel_HF").RecordSource = strSQL
Forms("Artikel_HF").SetFocus
Forms("Artikel_HF")!Artikelnummer .SetFocus

End Sub

Worf1001
08.07.2006, 20:03
Hallo Gordon,

was genau funktioniert hier nicht? Ich vermute Artikelnummer ist ein Zahlenfeld.

Anne Berg
08.07.2006, 20:23
Hier fehlt das anzufügende "*'" : strArtikelnummer = "'" & Me!Artikelnummer

Worf1001
08.07.2006, 20:30
Bei einem Zahlenfeld bin ich jedoch der Meinung, dass dies nicht so gemacht werden kann

Anne Berg
08.07.2006, 21:39
Sicher, aber dann sollte man auch kein anführendes Hochkomma einsetzen. :rolleyes:

... und die Variablenbezeichnung str... sollte eigentlich für sich sprechen!