Discussion:
Formular per VBA öffnen und bestimmten Datensatz anzeigen
(zu alt für eine Antwort)
Konrad Hammerer
2007-03-07 10:27:54 UTC
Permalink
Hallo!

Ich will von einem Access-Formular aus ein anderes per VBA öffnen und
dann in dem neuen Formular einen bestimmten Datensatz mit einer
definierten ID anzeigen (also bis zu diesem Datensatz "vorblättern").

Das Formular mit DoCmd.OpenForm zu öffnen, ist kein Problem, aber wie
kann ich nun den gewünschten Datensatz darin anzeigen? Das Recordset
verschieben hilft jedenfalls nichts...

Vielen Dank,
Konrad
Wolfgang Schmidhuber
2007-03-07 11:13:31 UTC
Permalink
Konrad Hammerer schrieb
Post by Konrad Hammerer
Ich will von einem Access-Formular aus ein anderes per VBA öffnen und
dann in dem neuen Formular einen bestimmten Datensatz mit einer
definierten ID anzeigen (also bis zu diesem Datensatz "vorblättern").
Da kommt es darauf an, wo Du die ID hernimmst. Kommst Du z.B. aus einem
anderen Formular (frmVorher), wo Du in einer Liste auf einen Datensatz
mit dem Feld txtDatensatzID geklickt hast und willst nun diesen
Datensatz in Deinem neuen Formular anzeigen, ginge z.B. beim Öffnen:

Dim rs As Object, such As String
Set rs = Me.Recordset.Clone
such = "[Datensatz_ID] = " & Forms![frmVorher]![txtDatensatzID]
rs.FindFirst such
Me.Bookmark = rs.Bookmark

Eine andere Methode zeigt Dir der Wizard zum Anlegen von
Befehlsschaltflächen auf.
--
Freundliche Grüße

Wolfgang Schmidhuber
Jens Schilling
2007-03-07 11:14:36 UTC
Permalink
Hallo, Konrad
Post by Konrad Hammerer
Ich will von einem Access-Formular aus ein anderes per VBA öffnen und
dann in dem neuen Formular einen bestimmten Datensatz mit einer
definierten ID anzeigen (also bis zu diesem Datensatz "vorblättern").
Das Formular mit DoCmd.OpenForm zu öffnen, ist kein Problem, aber wie
kann ich nun den gewünschten Datensatz darin anzeigen? Das Recordset
verschieben hilft jedenfalls nichts...
Entweder Du schaust einmal in der Hilfe nach OpenArgs, ohne siehst Dir
diesen Link einmal an :

http://www.fullaccess.de/CONT_EN_e5711c2d-f823-4bf0-8779-6d07058bfb98.aspx
--
Gruss
Jens
______________________________
1. SEK (SQL Server-Entwickler-Konferenz)
Nürnberg, Sa/So 21./22.4.2007 (www.donkarl.com/sek)
FAQ: http://www.donkarl.com
Peter Doering
2007-03-07 12:35:07 UTC
Permalink
Hallo,
Post by Konrad Hammerer
Ich will von einem Access-Formular aus ein anderes per VBA öffnen und
dann in dem neuen Formular einen bestimmten Datensatz mit einer
definierten ID anzeigen (also bis zu diesem Datensatz "vorblättern").
Das Formular mit DoCmd.OpenForm zu öffnen, ist kein Problem, aber wie
kann ich nun den gewünschten Datensatz darin anzeigen? Das Recordset
verschieben hilft jedenfalls nichts...
Warum nicht?

Nach FAQ 4.4 ( www.donkarl.com/?FAQ4.4 ) etwa so:

Dim Frm As Form
Dim rs As DAO.Recordset

'Falls es noch nicht geoeffnet ist:
'DoCmd.OpenForm "DeinZweitesForm"

Set Frm = Forms("DeinZweitesForm")
Set rs = Frm.RecordsetClone

rs.FindFirst "ID=" & Me![ID]
If Not rs.NoMatch Then
Frm.Bookmark = rs.Bookmark
End If

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Anmeldung zur SEK: http://www.donkarl.com/SEK/
Konrad Hammerer
2007-03-07 16:28:21 UTC
Permalink
Post by Jens Schilling
Hallo,
Post by Konrad Hammerer
Ich will von einem Access-Formular aus ein anderes per VBA öffnen und
dann in dem neuen Formular einen bestimmten Datensatz mit einer
definierten ID anzeigen (also bis zu diesem Datensatz "vorblättern").
Das Formular mit DoCmd.OpenForm zu öffnen, ist kein Problem, aber wie
kann ich nun den gewünschten Datensatz darin anzeigen? Das Recordset
verschieben hilft jedenfalls nichts...
Warum nicht?
Ich hab es bisher nur verschoben, ohne das Bookmark der Form noch zu
setzen ;-). Mit geht es natürlich...

Grüße,
Konrad
Post by Jens Schilling
Dim Frm As Form
Dim rs As DAO.Recordset
'DoCmd.OpenForm "DeinZweitesForm"
Set Frm = Forms("DeinZweitesForm")
Set rs = Frm.RecordsetClone
rs.FindFirst "ID=" & Me![ID]
If Not rs.NoMatch Then
Frm.Bookmark = rs.Bookmark
End If
Gruss - Peter
Konrad Hammerer
2007-03-07 12:57:56 UTC
Permalink
Vielen Dank!

Alle Eure genannten Beispiele machen genau das was ich wollte...

Grüße,
Konrad
Post by Konrad Hammerer
Hallo!
Ich will von einem Access-Formular aus ein anderes per VBA öffnen und
dann in dem neuen Formular einen bestimmten Datensatz mit einer
definierten ID anzeigen (also bis zu diesem Datensatz "vorblättern").
Das Formular mit DoCmd.OpenForm zu öffnen, ist kein Problem, aber wie
kann ich nun den gewünschten Datensatz darin anzeigen? Das Recordset
verschieben hilft jedenfalls nichts...
Vielen Dank,
Konrad
Loading...