Hallo,
ich habe ein Formular, das ich mit
Private Sub Form_Open
SQLstr = "SELECT ......."
Me.RecordSource = SQLstr
End Sub
befülle. Daraufhin wird wie üblich der erste Datensatz angezeigt, der dem SQLstr entspricht. Nun habe ich das Problem, dass meine User damit nicht klar kommen und ständig diesen ersten Datensatz mit den neuen Daten überschreiben.
Ich bräuchte also die Möglichkeit, dass als erstes ein neuer, leerer Datensatz angezeigt wird, den meine User beschreiben können, und danach die Treffer des SQLstr.
Wie mache ich das am Besten?
Vielen Dank im Voraus
Beate1953
Hallo,
ein Vorschlag wäre, das Hauptformular zur Dateneingabe zu öffnen und die Datensätze aus der Abfrage im Unterformular anzuzeigen.
Was ist der Grund für die Zuweisung des SQL-Strings beim Öffnen?
Hi,
vielleicht hilft der im Anhang eingesetzte Befehl.
Harald
Hallo,
wenn ich nach obigem Code noch den DoCmd-Befehl von Dir einfüge, kommt die Fehlermeldung "Der Befehl oder die Aktion 'GeheZuDatensatz' ist zurzeit nicht verfügbar".
Was ist da falsch?
Viele Grüße
Beate1953
Hallo,
das wichtigste bei der Sache wurde nicht dargestellt, nämlich die komplette abfrage für das Formular.
Also wie es nach SELECT weitergeht.
Das müsste man komplett sehen.
Wenn die Abfrage nicht aktualisierbar ist können keine neuen DS angefügt werden und dann führt 'GeheZuDatensatz' zu einem Fehler.
PS:
Man sollte nie Codeschnippsel zeigen, das ist meist sinnlos, es baut ja alles aufeinander auf.
Hi,
ich hatte ebenfalls das Thema und habe es wie folgt gelöst:
um einen leeren Datensatz beim Formularöffnen anzeigen zu lassenhab ich das so gemacht.
Habe das Formularereignis "Beim Öffnen" ausgewählt, habe auf die drei Punkte am Zeilenende geklickt [Ereignisprozedur].
Hab folgenden folgenden Code verwendet:
Code: [Auswählen]
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord acDataForm, "Formularbezeichnung", acNewRec
End Sub
"Formularbezeichnung" natürlich durch meinen Formularnamen ersetzten.
Hoffe es hilft auch in deinem Fall.
Hallo,
Zitat von: Beate1953 am März 08, 2015, 15:47:19Was ist da falsch?
Open ist hierfür evtl. das falsche Ereignis, versuche es im Load.
Allerdings solltest du auch die Fragen nach dem SQL-Code noch beantworten und warum du das überhaupt so machst.
Auch fehlt deine Antwort auf meinen Vorschlag mit dem Unterformular.