Ich komme mal wieder nicht weiter:
Ich habe in einer Tabelle unter anderem ein Feld ,,Qualität"
Aus dieser Tabelle habe ich ein Formular erstellt, in welchem alle Felder der Tabelle (bis auf den Autowert ID) zeilenweise aufgeführt sind.
Nun will ich bei Doppelklick auf ,,Qualität", dass sich ein weiteres Formular ,,EinzelAnsicht" öffnet, welches mir sämtliche Felder dieses Datensatzes anzeigt. Unter anderem habe ich hier ein MemoFeld ,,Text", in welches ich nun zusätzliche Informationen eingeben will.
Beim Doppelklick auf das Feld Qualität bekomme ich aber nur eine Fehler Meldung
Sub oder Funktion nicht definiert
Im Code stehen folgende Zeilen:
Private Sub Qualität_DblClick(Cancel As Integer)
MText = ID
Call EinzelAnsicht(MText)
End Sub
Wie kann ich das Problem lösen?
Beste Grüße
Axel
Benenne das Feld um (Umlaute sind nicht erlaubt!)
Sorry IMP666,
aber auch nach Umbenennung kommt exakt die gleiche Fehlermeldung
Beste Grüße
Axel
Hallo,
Zitat(Umlaute sind nicht erlaubt!)
Wie kommst Du darauf?
Siehe Beispiel:
Public Sub TestMitÖundß()
Dim äÖß As String
äÖß = "Test"
MsgBox äÖß
End Sub
Ich verwende zwar im Regelfall auch keine Umlaute, aber funktionieren tuen die schon.
Was steht denn in der Prozedur EinzelAnsicht ?
Und warum überhaupt eine Prozedur zur Öffnung eines Formulars?
Das geht doch auch direkt als Einzeiler (DoCmd.OpenForm).
Ok,
ich habe den Code wie folgt geändert:
Private Sub Qualität_DblClick(Cancel As Integer)
DoCmd.OpenForm "EinzelAnsicht"
End Sub
Jetzt öffnet sich auch das Einzelformular, aber leider das des ersten Datensatzes, aber nciht das, welches ich brauche.
Kannst Du mir bitte da weiterhelfen?
Danke
Axel
Hallo,
so sollte es klappen:
Private Sub Qualität_DblClick(Cancel As Integer)
DoCmd.OpenForm "EinzelAnsicht", , , "ID =" & Me!FormularfeldMitID
End Sub
Sorry, immer noch nicht, siehe attachment
[Anhang gelöscht durch Administrator]
Hallo,
na Du bist ja lustig. Da ich ja Deine Feldnamen nicht kenne, nehme ich ein Pseudonym. Hier "FormularfeldMitID", das musst Du natürlich durch den Namen den dieses Formularfeld bei Dir hat ersetzen.
Hallo,
...und zusätzlich muss hier
"ID =" & Me!FormularfeldMitID
ID durch den Namen des Primärschlüsselfeldes in jener Tabelle ersetzt werden, welche 'hinter' dem Formular 'EinzelAnsicht' steht .
Also, Visual Basic ist nun wirklich mein Ding, sorry.
Darf ich Euch einfach mal sagen, wie die Tabelle aufgebaut ist, und Ihr seid so freundlich und schreibt mir den richtigen Code? Das wäre toll.
Tabelle:
Feldname Typ
ID - Autowert - Primärschlüsselfeld
Name - Text
Qualitaet Text
Text Text
Stand Text
Fomular:
Projekte: mit o.g. Feldern
Einzelansicht: mit den gleichen Feldern
In "Projekte" will ich nun mit Doppelklick auf das Feld Qualitaet, dass sich das Formular "Einzelansicht" öffnet.
Ich bin zu doof, um Eure Hilfe zu kapieren bzw. umzusetzen.
Danke für die Unterstützung
Beste Grüsse zum Wochenende
Axel
Hallo,
Private Sub Qualität_DblClick(Cancel As Integer)
DoCmd.OpenForm "EinzelAnsicht", , , "ID =" & Me!ID
End Sub
Voraussetzungen:
Das Feld, auf dem du den Doppelklick ausführst heißt tatsächlich Qualität und nicht so wie das Tabellenfeld Qualitaet
(Wenn der Name also anders lautet muss er hier ... Qualität_DblClick ... entsprechend angepasst werden)
Das Feld ID heißt auch im Formular ID
Die Datenherkunft von 'EinzelAnsicht' ist die gleiche wie für 'Projekte'
Wenn diese Voraussetzungen erfüllt sind sollte sich das Formular 'EinzelAnsicht' öffnen und den gleichen Datensatz wie 'Projekte' beinhalten.
HTH
Hallo,
so wie Klaus das schon gesagt hat, mit angepasstem Textfeldnamen:
Private Sub Qualitaet_DblClick(Cancel As Integer)
DoCmd.OpenForm "EinzelAnsicht", , , "ID =" & Me!ID
End Sub
Name des Feldes in der Tabelle, die als Basis für das Form "EinzelAnsicht" dient.
Name des Textfeldes im Formular, in dem das Feld "Qualitaet" angeklickt wird.
btw: Auf Name "Name" DRINGEND verzichten (bestimmt schon 1000 Mal erzählt...
Hallo an die Helfer,
danke vielmals, denn es hat jetzt geklappt.
Ich hoffe, dass ich irgendwann doch noch mal dazu komme, mehr zu lernen und intelligentere Fragen zu stellen.
Schönes Wochenende
Axel
Hallo,
die Hoffnung stirbt zuletzt ;) ;)
ZitatDie Datenherkunft von 'EinzelAnsicht' ist die gleiche wie für 'Projekte'
Wenn das zutrifft, stolperst Du in die nächste Falle, die sich Datensatzsperrung nennt, falls keine geeigneten Maßnahmen/Einstellungen dagegen getroffen werden.
Hallo Franz,
ich denke, die Datensatzherkunft ist bei beiden Formularen die gleiche, nämliche tbl Projekte.
@Aber ich habe - nachdem das nun funktioniert - bisher keine Probleme gefunden.
Lediglich noch eine Rückfrage:
Das Feld "Text" ist ein Memo-Typ. In anderen Memo-Typ-Feldern kann ich mit Return einen Zeilenwechsel machen.
In diesem Formular ist es so, dass bei Return ein Spung ins nächste Feld passiert.
Ich habe die Details in den Feldeigenschaften (Memo - klappt, Memo - klappt nciht) verglichen, kein Unterschied.
Hast Du eine Ahnung, was das sein kann?
Axel
Hallo Axel,
ja, die Einstellung der Eigenschaft "Andere/Eingabetastenverhalten" des Textfeldes passt nicht..
"bisher keine Probleme gefunden"
was nicht ist, kann ja noch werden ;)
Und noch was: Benenne dringend(!) den Namen des Textfeldes ("Text") um.... , in z. B. "txtText"
Hallo,
Ein Zeilenwechsel in einem Memofeld kann man auch man mit Strg+Return machen.
Wobei das auch schon wieder fragwürdig ist. Ich leite aus dem Vorhaben ab, dass in dem Memofeld verschieden Infos gespeichert werden.
Und das wäre dann der Fall für eine weitere Tabelle, jede Info des Memofeldes gibt dann einen Datensatz und nicht viele Infos in einem Memofeld.
Hallo Franz,
was würde ich machen, wenn ich Euch nicht hätte!
Jetzt habe ich wieder etwas gelernt.
Das mit dem "Return" ist prima und hat geklappt, und Deine Empfehlung der Umbenennung der Felder Name und TExt habe ich auch erfolgreich nachvollzogen.
Bis zur nächsten Frage also.
Geniesse den Sonntag, auch wenn es erst ab morgen warm und sonnig werden soll.
Beste Grüße
Axel