Hallo Leute,
ich brauche mal wieder Eure geschätzte Hilfe. Ich habe ein Formular mit einem Button. Dieser Button soll ein anderes Formular öffnen und dort den selben Datensatz anzeigen, der bereits in dem anderen Formular gezeigt wurde. Mein Code sieht derzeit so aus:
Private Sub Befehl1127_Click()
Dim FormularName As String
Dim Filter As String
FormularName = "Galerie"
Filter = "[Datensatz] = " & Me![Datensatz]
DoCmd.OpenForm FormularName, acForm, Filter
End Sub
Ich bekomme erstens nur eine Druckvorschau angezeigt und zweitens nicht die gewünschten Daten. Es wiederholt sich immer wieder der erste Datensatz.
Vielleicht kann mir da ja jemand weiterhelfen. Danke schon mal vorab.
Hallo,
Du musst im Filter den Primärschlüssel des Datensatzes übergeben.
Was enthält/bedeutet denn das Feld [Datensatz] ?
Das Feld Datensatz ist ein Autowert-Feld
Hallo,
wenn man aus "Autowert" darauf schließen kann, dass es sich auch um das Primärschlüssel-Feld handelt, dann etwa so:
Private Sub Befehl1127_Click()
DoCmd.OpenForm "Galerie", , ,"[Datensatz] = " & Me![Datensatz]
End Sub
Bei solchen Sachen ist aber darauf zu achten, dass man sich nicht selber bei der Bearbeitung des Datensatzes (aus)sperrt...
Hallo,
dann verwende den Open Befehl richtig.
Private Sub Befehl1127_Click()
Dim FormularName As String
Dim Filter As String
FormularName = "Galerie"
Filter = "[Datensatz] = " & Me![Datensatz]
DoCmd.OpenForm FormularName, acNormal, , Filter
End Sub
acForm gibt es an der Stelle nicht, außerdem ist das kein Filter, sondern eine Where Klausel. Daher fehlt ein Komma.
Warum schaust Du nicht in der Hilfe nach, da ist das alles (ausführlich!) mit Beispielen beschrieben.
Hier noch die Kurzform:
Private Sub Befehl1127_Click()
DoCmd.OpenForm "Galerie", , , "[Datensatz] = " & Me![Datensatz]
End Sub
Super! Vielen Dank Leute. Funktioniert super.
Manchmal sieht man den Wald vor lauter Bäumen nciht.... ;-)
Hallo Leute,
habe das Thema nochmal geöffnet, da ich gern wissen wollte, ob man diesen Code so abändern kann, daß auch ähnliche Datensätze mit angezeigt werden. Ich suche eigentlich eine Identifizierung über die ersten vier Buchstaben/Ziffern. Der Grund ist das wir für ein Produkt unterschiedliche Verpackungen haben und diese ab der 5. Stelle variieren. Habe mal ein bisschen rumgespielt und versucht den Code anzupassen, leider ohne Erfolg.
Private Sub Bestand_prüfen_Click()
DoCmd.OpenForm "AktuellerLagerbestand", , , "MaterialNr like '*" & Me!MaterialNr & "*'"
End Sub
Wäre Super wenn jemand eine Lösung anbieten könnte.
Danke sehr
Rene
Hallo,
und was soll jetzt unterschieden werden, die Verpackungen, also Lagerbstand je Verpackung ?
Bitte mal genauer erläutern.
Hallo Klaus
nun ich möchte alle Datensätze sehen, wo die ersten 4 Stellen mit meinem im Formular fokussierten Datensatz übereinstimmen. Aktuell schaffe ich es nur exakte Datensätze anzuzeigen.
Danke vorab.
Rene
Hi,
wie heißt denn das Datenfeld, das diese ersten vier Zeichen nach denen du suchen willst enthält? Und in welcher Tabelle befindet es sich?
Du solltest dann auch die ersten vier Zeichen in die Bedingung aufnehmen. ... , "MaterialNr LIKE '" & Left(Me.MaterialNr, 4) & "*'"
Hallo Lachtaube, Hallo Maggie,
habe diesen Code ausprobiert und funktioniert super. ... , "MaterialNr LIKE '" & Left(Me.MaterialNr, 4) & "*'".
Vielen vielen Dank für Eure Hilfe.
Rene