Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Problem nach hinzufügen eines neuen Feldes

Begonnen von asiat, März 22, 2011, 10:21:23

⏪ vorheriges - nächstes ⏩

asiat

Guten Tag,

Folgendes ist vorhanden: Tabelle, Abfrage, Formular
Formular (Endlosformular) Gebunden mit der Abfrage.
In dem Formular gibt es einen Button mit on cklick funktion
msgbox Vorname

so.. wenn ich einen  Neuen Fled hinzufüge und bei msgbox "neues Feld" schreibe dann sagt vba editor nicht defenierte Variable.
wenn ich aber ein neues Access Datei erstelle und dort die  Tabelle, Abfrage, Formular mit neuem Feld exportiere
dann geht alles..

ich weiß...ist ein bisschen verwirrend vielleicht mit einem Beispiel unten könnt ihr mich mehr verstehen

[Anhang gelöscht durch Administrator]

Josef P.

#1
Hallo!

ZitatNeuen Fled hinzufüge und bei msgbox "neues Feld" schreibe dann sagt vba editor nicht defenierte Variable.

Verstehe ich dich richtig: du erstellst zur Laufzeit ein neues Datenfeld in der Tabelle, welches du anschließend im Formular über Me.Datenfeld (nur Me. lässt du weg) ansprechen willst.
Das wird nicht funktionieren, da zu diesem Zeitpunkt die Eigenschaft "neuer Feldname" noch nicht angelegt wurde. Diese Eigenschaft wird erst beim erneuten Auswerten der Datenherkunft (z. B. nach Aktualisierung der Eigenschaft "RecordSource" in der Entwurfsansicht) angelegt. Sobald das Feld in der Datenherkunft des Formulars verfügbar ist, könntest du allerdings über die Auflistungsklasse gehen (Me!Datenfeld bzw. me.Controls("Datenfeld")).

BTW: Die angehängte Datei ist aus meiner Sicht ziemlich umsonst. Es hätte auch ausgereicht, wenn du folgende Zeile gezeigt hättest:
Private Sub Details_Click()
MsgBox Vorname
End Sub

.. mehr gibt das Beispiel auch nicht her.
Sinnvoller wäre es gewesen, wenn du mit dem Beispiel den Code gezeigt hättest, der das Problem auslöst.

mfg
Josef

asiat

ich mache es noch einfacher.

Ein Formular wird mit einer Tabelle verbunden Über Eigenschaften.
Formular hat nur einen Button mit onclick Ereigniss, sonst nichts.
Private Sub Details_Click()
MsgBox Vorname
End Sub


ich erstelle ein neue Spalte in der Tabelle Nachname
schreibe in onclick ereigniss
Private Sub Details_Click()
MsgBox Nachname
End Sub


dann sagt mir vba editor Nicht deklarierte Varieable

Josef P.

#3
Wenn das Formular auf einer Abfrage basiert, muss die Abfrage natürlich auch das neue Feld beinhalten.
Falls das bereits der Fall ist, kannst du einmal versuchen die Datenherkunft des Formulars zu löschen und anschließend neu einzustellen (Strg+X, Strg+C). Damit werden die Eigenschaften für die Datenfelder neu aufgebaut.
Immer funktionieren sollte allerdings der Zugriff auf das neu erstellte Steuerelement, dessen Eigenschaft wird sofort nach Erstellung des Steuerelements angelegt - das bei dir einen anderen Namen haben wird.
Die Alternative zum Zugriff über die Formular-Eigenschaft wäre der Weg über die Controls-Auflistung (Late binding).

asiat

was mir geholfen hat ist folgendes.
in Formulareigenschaft Recordsettyp auf Snapshot und dann wieder auf Dynaset umstellen.
Dann wird das betrofene Feld auch erkannt