MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 11.01.2019, 13:43   #1
navino
MOF User
MOF User
Standard Acc2000 - Paramter in Textfeld übertragen

Ich habe einen Kompilierungsfehler: Unzulässige Verwendung einer Eigenschaft

Beim Öffnen des Formular's mache ich folgendes:
Code:

Private Sub Form_Load()
MsgBox Me.Rezept_ID

DoCmd.GoToRecord , , acNewRec
'Me.txtRezept_ID = Me.Rezept_ID
Forms!txtRezept_ID = Me.Rezept_ID


End Sub
und das Forms!txtRezept_ID = Me.Rezept_ID meckert er an.

Ich möchte aus einem Endlosformular einen neuen Datensatz zur Rezept_ID erfassen.
Die richtige Rezept_ID kommt mit der MsgBox
navino ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 13:58   #2
Ekimflow
MOF User
MOF User
Standard

Zitat:

Die richtige Rezept_ID kommt mit der MsgBox

MsgBox hat keine Eingabe. Was du suchst ist eine Inputbox.
vEingabe = InputBox("Bitte gib was ein:", "Irgendwas eingeben", "Vorgabe")

__________________

Gruss
Mike
Ekimflow ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 13:58   #3
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
wenn Du die Rezepte in einem Hauptformular darstellst und das was jetzt Dein Endlosformular als Unterformular einbindest geht das automatisch, wenn Hafo und Ufo über die Rezept_ID verknüpft ist. Eine MsgBox braucht es da nicht.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:03   #4
navino
Threadstarter Threadstarter
MOF User
MOF User
Standard

Ich wechsel von einem Endlosformular in ein Formular zur Dateneingabe
Ich habe im Formularkopf einen Button Neu
Die MsgBox ist nur zum Test gewesen, ob ich die ID habe.

Ich möchte die ID jetzt in das txtRezept_ID in ein TextFeld übertragen des Dateneingabeformulars.
navino ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:06   #5
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
wie rufst Du das Formular zur Dateneingabe auf ?

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:16   #6
navino
Threadstarter Threadstarter
MOF User
MOF User
Standard

Zitat: von gpswanderer Beitrag anzeigen

Hallo,
wie rufst Du das Formular zur Dateneingabe auf ?

Mit :

DoCmd.OpenForm "Rezept_Zubereitungen anlegen", , , "Rezept_ID = " & Me.Rezept_ID
navino ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:19   #7
Ekimflow
MOF User
MOF User
Standard

Du solltest dich mal damit befasssen, was das "Me." für eine Funktion hat und die korrekten Verweise benutzen.

__________________

Gruss
Mike
Ekimflow ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:20   #8
maikek
MOF Guru
MOF Guru
Standard

Moin,
die Zuweisung kommt zu früh. Du kannst aber den Standardwert setzen:
Code:

Me.txtRezept_ID.DefaultValue = Me.Rezept_ID
Der wird dann bei Anlage eines neuen Datensatzes übernommen.
maike

__________________

Bitte dein Thema auf erledigt setzen, wenn's durch ist!
MOF Access Stammtisch in Bremen
maikek ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:26   #9
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
das macht ja keinen Sinn, wenn im Eingabeformular neue Zubereitungen angelegt werden sollen, so gibt es ja im Formular diese ID noch gar nicht, also kannst Du diese auch gar nicht aufrufen.
Du musst die neue ID in den OpenArgs übergeben und im Load Ereiegnis zuweisen.
Code:

DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenForm "Rezept_Zubereitungen anlegen", , , , , , Me.Rezept_ID
Anzahl der Kommas beachten.
Und dann im aufgerufenen Formular:
Code:

Private Sub Form_Load()
   If Not IsNull(Me.Rezept_ID) Then
       Me.Rezept_ID = Me.OpenArgs
   End If
End Sub
PS:
Auf die Hinweise zum verbesserungsbedürftigen Datenmodell bist Du in Deinem anderen Thema mal vorsichtshalber nicht eingegangen.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:30   #10
navino
Threadstarter Threadstarter
MOF User
MOF User
Standard

Wenn ich den Wert vorher in eine Variable packe, dann geht es:
Code:

Private Sub Form_Load()
    Dim rid As Long
    rid = Me.Rezept_ID
    DoCmd.GoToRecord , , acNewRec
    Me.txtRezept_ID.Value = rid
End Sub
navino ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 14:31   #11
navino
Threadstarter Threadstarter
MOF User
MOF User
Standard

Zitat: von Ekimflow Beitrag anzeigen

Du solltest dich mal damit befasssen, was das "Me." für eine Funktion hat und die korrekten Verweise benutzen.

Da hast du recht!!
Suche gerade wo ich da mal was zu lesen kann.
Hast du einen Tipp?
navino ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2019, 17:42   #12
Josef P.
MOF Guru
MOF Guru
Standard

[OT]

Hallo!

Zur Bedeutung von Me:

VBA: Me
Java: this

mfg
Josef
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.