Erich Walczak
2004-06-30 12:06:30 UTC
Permalink
Post by Henry Habermacher [MVP Access]
Hallo Erich
Post by Erich Walczak
ich arbeite mit Access 2000 und habe dort ein Unterformular in einem
Formular erstellt. Das Formular arbeitet mit Tabelle "a" und das
unendlich- Beziehung verknüpft.
Sowohl im Formular, als auch im Unterformular habe ich Felder mit VBA
erstellt, die den jeweiligen aktuellen, als auch den letzten
Datensatz zeigen. Während nun im Formular mit der Tabelle "a" über
entsprechende Buttons (zum Anfang, vorwärts, rückwärts, zum Ende)
problemlos durch das Formular geblättert werden kann und die
entsprechenden Datensätze auch einwandfrei angezeigt werden, passiert
im Unterformular NICHTS!
Wie kann ich im Unterformular die Anzeige des ersten (normalerweise
immer 1) und jeweiligen letzten Satzes (unterschiedlich) der
zugehörigen Verknüpfung durch Betätigen der oben erwähnten Buttons im
Formular mittels VBA lösen?
Unterformular Steuerelementes auf die Felder setzen, über die die
Tabelle a und die Tabelle b verknüpft werden, dann funktioniert das
automatisch.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: //support.microsoft.com/default.aspx
FAQ: //www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: //www.dbdev.org
Die Verknüpfung ist vorhanden, jedoch nur in den Eigenschaften für das Unterformular selbst. Die beiden von mir angesprochenen
Felder (es handelt sich um Bezeichnungsfelder) zur Anzeige des jeweiligen ersten und letzten Datensatzes der Tabelle "b" für das
Unterformular haben keine "Verknüpfen von"- bzw. "Verknüpfen nach"- Eigenschaft.
Hast Du evtl. noch einen Tipp?
Gruß
Erich
Erich Walczak
2004-07-01 12:13:16 UTC
Permalink
Hallo Henry,Post by Henry Habermacher [MVP Access]
Hallo Erich
Post by Erich Walczak
Die Verknüpfung ist vorhanden, jedoch nur in den Eigenschaften für
das Unterformular selbst. Die beiden von mir angesprochenen Felder
(es handelt sich um Bezeichnungsfelder) zur Anzeige des jeweiligen
ersten und letzten Datensatzes der Tabelle "b" für das Unterformular
haben keine "Verknüpfen von"- bzw. "Verknüpfen nach"- Eigenschaft.
und mach dort auf die beiden Felder ein Requery
Private Sub Form_Current()
Me!DeinFeld1.Requery
Me!DeinFeld2.Requery
End Sub
Die beiden Felder musst Du natürlich so füllen, dass diese auf der
aktuellen Auswahl im HFO beruhen, oder sich auf das Link Feld des UFOs
beziehen, welches ja den Wert wechselt, wenn das HFO den wert wechselt.
Der Requery macht dann beim Datensatz anzeigen, dass die beiden Felder
neu eingelesen werden.
HTH
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: //support.microsoft.com/default.aspx
FAQ: //www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: //www.dbdev.org
zunächst einmal vielen Dank für Dein Mitmachen und Deine Tipps. Leider habe ich aber bisher keinen Erfolg damit gehabt.
Ich habe allerdings das Problem zum Anzeigen des letzten Datensatzes in der zugehörigen Tabelle "b" zunächst wie folgt gelöst:
Ich habe im UFO (zugehörige Tabelle "b") einen Button "Datensatz aktualisieren" erstellt. Dieser Button ruft beim Klicken folgende
Prozedur auf:
Public Sub datensatzaktualisieren()
DoCmd.GoToRecord , , acLast
Me!txtletztersatz = CurrentRecord
End Sub
Hierdurch wird dann der letzte Satz einwandfrei aktualisiert, ist jedoch umständlich. Mir ist es allerdings bisher nicht gelungen,
diese Prozedur aus dem HFO (zugehörige Tabelle "a") aufzurufen.
Ich habe auch nur den Befehl
DoCmd.GoToRecord , , acLast
Me!txtletztersatz = CurrentRecord
im HFO verwendet, wobei ich dann dort für "Me!" die Ausdrucksweise "Forms!HFO!HFU.Form!" angewendet habe. Problematisch ist hier die
Zeile "DoCmd.GoToRecord , , acLast", die sich ja im HFO ja auf die Tabelle "a" und nicht wie erforderlich auf die Tabelle "b"
bezieht. Das funktioniert natürlich nicht!
Kurz und gut. Hast Du hierzu vielleicht auch noch einen Tipp?
Gruß
Erich
Henry Habermacher [MVP Access]
2004-07-01 12:35:45 UTC
Permalink
Hallo ErichErich Walczak wrote in news:cc0v7m$j0q$03$***@news.t-online.com:
Bitte keine Fullquotes mehr, danke
Post by Erich Walczak
Ich habe allerdings das Problem zum Anzeigen des letzten Datensatzes
Ich habe im UFO (zugehörige Tabelle "b") einen Button "Datensatz
aktualisieren" erstellt. Dieser Button ruft beim Klicken folgende
Public Sub datensatzaktualisieren()
DoCmd.GoToRecord , , acLast
Me!txtletztersatz = CurrentRecord
End Sub
Hierdurch wird dann der letzte Satz einwandfrei aktualisiert, ist
jedoch umständlich. Mir ist es allerdings bisher nicht gelungen,
diese Prozedur aus dem HFO (zugehörige Tabelle "a") aufzurufen.
Ich habe auch nur den Befehl
DoCmd.GoToRecord , , acLast
Me!txtletztersatz = CurrentRecord
im HFO verwendet, wobei ich dann dort für "Me!" die Ausdrucksweise
"Forms!HFO!HFU.Form!" angewendet habe. Problematisch ist hier die
Zeile "DoCmd.GoToRecord , , acLast", die sich ja im HFO ja auf die
Tabelle "a" und nicht wie erforderlich auf die Tabelle "b" bezieht.
Das funktioniert natürlich nicht!
willst, dass das UFO betroffen wird, dann musst Du im HFO den Focus
zuerst auf das UFO legen.
Ich weiss immer noch nicht, was das Problem mit dem Feld txtLetzterSatz
ist. Mit einem DMax() müsste das doch direkt einlesbar sein, wo liegt
das Problem?
CurrentRecord des letzten Datensatzes gibt doch nichts anderes wieder
als die Anzahl Datensätze, die im UFO angezeigt werden. Wieso machst Du
nicht einfach:
Me!DeinUFO!txtletztersatz = Me!DeinUFO.Form.RecordsetClone.RecordCount
das gibt doch dann die gleiche Zahl. Falls diese kleiner ist, als
erwartet:
Dim rs as Recordset
set rs = Me!DeinUFO.Form.RecordsetClone
rs.movelast
me!DeinUFO!txtletztersatz = rs.Recordcount
set rs = nothing
Oder einfach (mal angenommen, das UFO sei über ID and das HFO gebunden,
die Datenquelle heisse TabelleB)
me!txtletztersatz = DCount("*", "TabelleB", "ID=" & Me!ID)
müsste auch das gleiche Ergebnis geben. Viele Wege führen nach Rom,
einige sind holperiger. Es gibt aber auch wege, die nach Südostasien
führen und da bist Du dann ganz schön weit vom Ziel weg ;-)
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: //support.microsoft.com/default.aspx
FAQ: //www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: //www.dbdev.org