Supportnet / Forum / Datenbanken
Code für stlinkcriteria
Frage
Hallo,
versuche gerade mit einem Schalter auf dem Formular ein Suchformular zu öffnen. Es öffnet sich und gibt die Fehlermeldung aus. Der Suchcode sieht so aus:
stLinkCriteria = "SeNr =" & ([Form_3frmGrfaktMU1]!FGestellNr.Value)
Die Fehlermeldung:
stLinkcriteria = SeNr=XXXX
Wobei die XXXX der übergebene Wert ist. Da bin ich doch total von den Socken. Ich versteh das einfach nicht. Wo liegt der Fehler?
Schönen Dank für einen erleuchtenden Tip.
Anton
Antwort 1 von JohnnyLoser
Hi Anton,
so weit ich weiß sind Fehlermeldungen in Access eine wenig umfangreicher, als "stLinkcriteria = SerNr=XXXX". Fehlernummer?, Klartext?
Okay, einfach mal geraten: Seriennummer ist ein Textfeld, dann
Johnny
so weit ich weiß sind Fehlermeldungen in Access eine wenig umfangreicher, als "stLinkcriteria = SerNr=XXXX". Fehlernummer?, Klartext?
Okay, einfach mal geraten: Seriennummer ist ein Textfeld, dann
stLinkCriteria = "SeNr = '" & [Form_3frmGrfaktMU1]!FGestellNr & "'"Johnny
Antwort 2 von Teddy
Es könnte auch so aussehen müssen :
stLinkCriteria = "SeNr =" & [Forms]![Form_3frmGrfaktMU1]![FGestellNr]
oder
stLinkCriteria = "SeNr =" & [Formulare]![Form_3frmGrfaktMU1]![FGestellNr]
Verdacht : weil Deine Form auf U1 endet - ist das vielleicht ein Unterformular ???
Dann geht das so nicht ! Du mußt in dem Code erst auf das Hauptformular verweisen :
Formulare!frmHauptformular!frmUnterformular!txtFeld
steht das Feld in einem Registerblatt muß auch das Register vorher benannt werden.
Gruß
Teddy
stLinkCriteria = "SeNr =" & [Forms]![Form_3frmGrfaktMU1]![FGestellNr]
oder
stLinkCriteria = "SeNr =" & [Formulare]![Form_3frmGrfaktMU1]![FGestellNr]
Verdacht : weil Deine Form auf U1 endet - ist das vielleicht ein Unterformular ???
Dann geht das so nicht ! Du mußt in dem Code erst auf das Hauptformular verweisen :
Formulare!frmHauptformular!frmUnterformular!txtFeld
steht das Feld in einem Registerblatt muß auch das Register vorher benannt werden.
Gruß
Teddy
Antwort 3 von Anton
Hallo
zunächst möchte ich mich für die schönen Beiträge bei Teddy und Johnny zu meinem Problem herzlich bedanken. Trotzdem habe ich aber noch keinen Erfolg daraus machen können, leider. Also muss ich doch die Sachverhalte genauer erklären:
Der Vorgang startet von einem Unter-Unterformular und holt aus dem Unterformular [3frmGrfaktMU1]!FGestellNr einen Wert vom Typ String und öffnet das Formular [3frmHandel-X], wobei es den Wert als Filter setzt. Dieses Formular greift auf eine Verknüpfte Tabelle zu und soll im Datenfeld [Se-Nr/Bj] vom Typ Text entsprechend dem Wert den gewünschten Datensatz anzeigen.
[3frmHandel-X] wird geöffnet und die unten beschreibenen MsgBox angezeigt. Leider weiß ich nun nicht weiter!
Lösungsansatz nach Johnny mit nummerischem Datentyp:
Der Code.
stLinkCriteria = "SeNr =" & "*" & [Form_3frmGrfakt]![3frmGrfaktMU1]!FGestellNr.Value & "*"
Die Fehlermeldung.
Syntaxfehler (fehlender Operator) in Abfrageausdruck 'SeNr=*10*'
Der Filter im Formular nach der Fehlermeldung.
Im Formular 3frmHandel-X ist danach! SeNr =' *10*'
Lösungsansatz nach Teddy mit Datentyp string:
Der Code.
stLinkCriteria = "SeNr =' " & "*" & [Form_3frmGrfakt]![3frmGrfaktMU1]!FGestellNr.Value & "*'"
Die Meldung ohne weitere Hinweise:
stLinkCriteria = ReNr = SeNr='*10*'
Der Filter im Formular 3frmHandel-X.
ReNr = SeNr='*10*'
Für den geeigneten Hinweis danke ich sehr.
Grüsse von Anton
zunächst möchte ich mich für die schönen Beiträge bei Teddy und Johnny zu meinem Problem herzlich bedanken. Trotzdem habe ich aber noch keinen Erfolg daraus machen können, leider. Also muss ich doch die Sachverhalte genauer erklären:
Der Vorgang startet von einem Unter-Unterformular und holt aus dem Unterformular [3frmGrfaktMU1]!FGestellNr einen Wert vom Typ String und öffnet das Formular [3frmHandel-X], wobei es den Wert als Filter setzt. Dieses Formular greift auf eine Verknüpfte Tabelle zu und soll im Datenfeld [Se-Nr/Bj] vom Typ Text entsprechend dem Wert den gewünschten Datensatz anzeigen.
[3frmHandel-X] wird geöffnet und die unten beschreibenen MsgBox angezeigt. Leider weiß ich nun nicht weiter!
Lösungsansatz nach Johnny mit nummerischem Datentyp:
Der Code.
stLinkCriteria = "SeNr =" & "*" & [Form_3frmGrfakt]![3frmGrfaktMU1]!FGestellNr.Value & "*"
Die Fehlermeldung.
Syntaxfehler (fehlender Operator) in Abfrageausdruck 'SeNr=*10*'
Der Filter im Formular nach der Fehlermeldung.
Im Formular 3frmHandel-X ist danach! SeNr =' *10*'
Lösungsansatz nach Teddy mit Datentyp string:
Der Code.
stLinkCriteria = "SeNr =' " & "*" & [Form_3frmGrfakt]![3frmGrfaktMU1]!FGestellNr.Value & "*'"
Die Meldung ohne weitere Hinweise:
stLinkCriteria = ReNr = SeNr='*10*'
Der Filter im Formular 3frmHandel-X.
ReNr = SeNr='*10*'
Für den geeigneten Hinweis danke ich sehr.
Grüsse von Anton
Antwort 4 von Teddy
Hallo Anton !
Das mit Stern davor und dahinter klappt nur bei Textfeldern und dann darfst Du nicht mit = arbeiten sondern mußt like einsetzen.
Ein weiterer Fehler scheint mir zu sein, daß Du im Kriterium den Feldnamen in der Datenquelle ansprechen mußt und der scheint doch [Se-Nr/Bj] zu sein, oder ??
Dann hast Du uns noch nicht gesagt, ob dieses Feld denn nun numerisch oder alphanumerisch ist.
Ist das Feld numerisch, dann darfst Du nicht mit like arbeiten !!!!!! (sondern mit > und < )
Ist es alphanumerisch (also Text) definiert dann könnte der gesuchte Code etwa so ausehen :
stLinkCriteria = "[Se-Nr/Bj] like '*" & [Formulare]![Form_3frmGrfakt]![3frmGrfaktMU1]!FGestellNr.Value & "*'"
(wobei man niemals Sonderzeichen wie - oder / in Feldnamen verwenden soll weil man sonst immer gezwungen ist, sie in [] zu setzen)
Gruß
Teddy
Das mit Stern davor und dahinter klappt nur bei Textfeldern und dann darfst Du nicht mit = arbeiten sondern mußt like einsetzen.
Ein weiterer Fehler scheint mir zu sein, daß Du im Kriterium den Feldnamen in der Datenquelle ansprechen mußt und der scheint doch [Se-Nr/Bj] zu sein, oder ??
Dann hast Du uns noch nicht gesagt, ob dieses Feld denn nun numerisch oder alphanumerisch ist.
Ist das Feld numerisch, dann darfst Du nicht mit like arbeiten !!!!!! (sondern mit > und < )
Ist es alphanumerisch (also Text) definiert dann könnte der gesuchte Code etwa so ausehen :
stLinkCriteria = "[Se-Nr/Bj] like '*" & [Formulare]![Form_3frmGrfakt]![3frmGrfaktMU1]!FGestellNr.Value & "*'"
(wobei man niemals Sonderzeichen wie - oder / in Feldnamen verwenden soll weil man sonst immer gezwungen ist, sie in [] zu setzen)
Gruß
Teddy
Antwort 5 von Anton
Hallo Tedddy,
danke für deine schöne und ausführliche Erklärung. An diesen Dingen bleibe ich doch immer wieder hängen.
Es ist der Datentyp Text und das Datenfeld heist Se-Nr/Bj in der Tabelle, im Formular hab ich es aber auf die günstigere Bezeichnung SeNr festgelegt, aus den von Dir nun genannten Gründen.
Könnt nun sein, dass trotzdem die Bezeichnung vom Tabellenfeld benötigt wird?
Aber besser gefällt mir noch der von Dir Teddy beschreibene Code. Den muss ich erst mal versuchen. Scheint ja vielversprechend zu sein.
Vielen Dank erst mal von Anton
danke für deine schöne und ausführliche Erklärung. An diesen Dingen bleibe ich doch immer wieder hängen.
Es ist der Datentyp Text und das Datenfeld heist Se-Nr/Bj in der Tabelle, im Formular hab ich es aber auf die günstigere Bezeichnung SeNr festgelegt, aus den von Dir nun genannten Gründen.
Könnt nun sein, dass trotzdem die Bezeichnung vom Tabellenfeld benötigt wird?
Aber besser gefällt mir noch der von Dir Teddy beschreibene Code. Den muss ich erst mal versuchen. Scheint ja vielversprechend zu sein.
Vielen Dank erst mal von Anton

