collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 95
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14069
  • stats Beiträge insgesamt: 67526
  • stats Themen insgesamt: 9099
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Adhoc Aktualisierung - möglich?  (Gelesen 1389 mal)

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Adhoc Aktualisierung - möglich?
« am: November 12, 2017, 21:00:25 »
Hallo,
ich habe hier ein kleines Feature in meiner DB, welches mir Klaus Dankenswerterweise gebaut hat. Das Ding funktioniert sehr gut. Einzig wenn man an einem Datensatz was ändert, ist das Aktualisierungsverhalten aus meiner Sicht etwas nachteilig. Geht das nicht adhoc, also sofort nach Auswahl? Es geht bei dem Feature um Ein bzw. Umlagern von Spielen. Es sind 3 Tabellen involviert (siehe Beziehung bild1). Wenn ich nun im Datensatz im Formular etwas ändere, dann aktualisiert sich das ganze erst, wenn ich in das 3 Feld Schubl.- Nr. komme und eine Auswahl treffe (bild2).
Der VBA Code für das kleine Feature ist folgender:
Option Compare Database
Option Explicit

Private Sub cboReihe_AfterUpdate()
    Me.cboSchrank.Requery
    Me.cboReihe.Requery
    Me.cboSchublade.Requery
End Sub

Private Sub cboReihe_GotFocus()
    Me.cboReihe.RowSource = "SELECT SchraReiheID, Reihe, Schrank FROM tblSchraReihen WHERE Schrank = " & Me.cboSchrank & " ORDER BY Reihe"
    Me.cboSchrank.Requery
    Me.cboSchublade.Requery
End Sub

Private Sub cboSchrank_AfterUpdate()
    Me.cboReihe.Requery
    Me.cboSchublade.Requery
    Me.Requery
End Sub

Private Sub cboSchublade_AfterUpdate()
    Me.cboSchrank.Requery
    Me.cboReihe.Requery
    Me.cboSchublade.Requery
    Me.SchraReiheSchubID_F = Me.cboSchublade
    Me.Requery
End Sub

Private Sub cboSchublade_GotFocus()
    Me.cboSchrank.Requery
    Me.cboReihe.Requery
    Me.cboSchublade.RowSource = "SELECT SchraReiheSchubID, SchubladeNr, SchraReiheID_F FROM tblSchraReiheSchub WHERE SchraReiheID_F = " & _
                                Me.cboReihe & " ORDER BY SchubladeNr"
End Sub

Ist das technisch möglich, dass wenn man die Zahl auswählt das Feld darunter gleich aktualisiert wird?
Gruß und Danke
Andreas

Grüße und Dank im voraus
Andreas
 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Adhoc Aktualisierung - möglich?
« Antwort #1 am: November 13, 2017, 13:22:53 »
Hallo derilzemer,
fast alles ist möglich.

Welche Bedeutung hat das Feld unter der Zahl (=Kombinationsfeld)?

Ingesamt sehen mir alle Prozeduren etwas merkwürdig aus.
z.B.
Private Sub cboReihe_AfterUpdate()
    Me.cboSchrank.Requery
    Me.cboReihe.Requery
    Me.cboSchublade.Requery
End Sub

Warum wird hier Me.cboReihe.Requery ausgeführt?
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1885
Re: Adhoc Aktualisierung - möglich?
« Antwort #2 am: November 13, 2017, 14:23:50 »
Hallo Andreas,
Zitat
Ist das technisch möglich, dass wenn man die Zahl auswählt das Feld darunter gleich aktualisiert wird?
Private Sub cbo_X_AfterUpdate()
    .
    .
    Me.DeinFeldDarunter = DeinWert
End Sub
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Re: Adhoc Aktualisierung - möglich?
« Antwort #3 am: November 13, 2017, 16:12:13 »
Hi, Ekkehard,
Zitat
Ist das technisch möglich, dass wenn man die Zahl auswählt das Feld darunter gleich aktualisiert wird?
Private Sub cbo_X_AfterUpdate()
    .
    .
    Me.DeinFeldDarunter = DeinWert
End Sub
Ich hab es wahrscheinlich nicht ganz verstanden. Ich habe jetzt als Beispiel im VBA für cboSchrank folgendes gemacht:
Private Sub cboSchrank_AfterUpdate()
    Me.Schrank.Requery
'    Me.cboReihe.Requery
'    Me.cboSchublade.Requery
'    Me.Requery
End Sub
Also alles andere auskommentiert, für das Feld darunter einen Requery gesetzt, weiss jedoch nicht, was ich mit der Angabe = DeinWert machen soll da der Wert ja dynamisch zugewiesen wird oder soll das ein Hinweis sein, dass ich eben lediglich einen requery für das Feld darunter machen soll? Aber das habe ich wie du siehst gemacht, ändert aber nichts am Verhalten.

Sorry und Gruß
Andreas
Grüße und Dank im voraus
Andreas
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Re: Adhoc Aktualisierung - möglich?
« Antwort #4 am: November 13, 2017, 16:17:10 »
Hi,
fast alles ist möglich.
Welche Bedeutung hat das Feld unter der Zahl (=Kombinationsfeld)?
Ja dann, wenn alles möglich ist :). Das Feld unterhalb des Kombi, da steht dann die Angabe drin, welche man in den Kombis auswählt. Das ist ja zum einen genau das Thema, dass es erst nach dem 3. Kombi auch aktualisiert.
Zitat
Insgesamt sehen mir alle Prozeduren etwas merkwürdig aus. z.B.
Private Sub cboReihe_AfterUpdate()
    Me.cboSchrank.Requery
    Me.cboReihe.Requery
    Me.cboSchublade.Requery
End Sub
Warum wird hier Me.cboReihe.Requery ausgeführt?
Ich hatte ja zu Anfang gesagt, dass mir dieses Feature Kollege Klaus vom Forum erstellt hat und ich nicht alle Einrichtungen "verstehe". Sprich, es mag durchaus sein, dass die eine oder andere Zeile Code eventuell nicht nötig wäre.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1885
Re: Adhoc Aktualisierung - möglich?
« Antwort #5 am: November 13, 2017, 17:06:02 »
Hallo Andreas,
Wo kommt denn die "1" her, die da jetzt unter dem Kombi steht?
Das ist "DeinWert"!
Private Sub cboReihe_AfterUpdate()
    Me.cboSchrank.Requery
    Me.cboSchublade.Requery
    Me.DeinFeldDarunter = DeinWert
End Sub
bei den anderen Kombis entsprechend.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1885
Re: Adhoc Aktualisierung - möglich?
« Antwort #6 am: November 13, 2017, 17:08:45 »
Obwohl das auch nicht ganz korrekt ist.
Beim cboSchrank sollte ein Requery auf das cboReihe reichen, und beim
Kombi cboReihe eins auf das cboSchublade.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Re: Adhoc Aktualisierung - möglich?
« Antwort #7 am: November 13, 2017, 19:44:36 »
Hi,
Wo kommt denn die "1" her, die da jetzt unter dem Kombi steht?
Das ist "DeinWert"!
Private Sub cboReihe_AfterUpdate()
    Me.cboSchrank.Requery
    Me.cboSchublade.Requery
    Me.DeinFeldDarunter = DeinWert
End Sub
bei den anderen Kombis entsprechend.
Ähmmm, ich habe 3 Schränke insgesamt. 2 Schränke mit je 4 Schubladenreihen und pro Schubladenreihe hat es 3 Schubladen und einen Schrank mit 6 Schubladenreihen und pro Schubladenreihe mit 5 Schubladen.
Ergo kann/ist dieser Wert dynamisch, oder verstehe ich hier was nicht? Das ist also nicht immer die gleiche Zahl. Versteh ich mal wieder was nicht??

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1336
Re: Adhoc Aktualisierung - möglich?
« Antwort #8 am: November 13, 2017, 20:00:24 »
Ich vermute, dass das Me.Requery schuld ist und die anderen Anweisungen nur der Beschäftigung des Rechners dienen. Im Beim Anzeigen Ereignis des Formulars musst Du die beiden anderen Kombifelder zurückspulen - sonst nirgends.
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Re: Adhoc Aktualisierung - möglich?
« Antwort #9 am: November 13, 2017, 20:59:27 »
Hi,
Ich vermute, dass das Me.Requery schuld ist und die anderen Anweisungen nur der Beschäftigung des Rechners dienen. Im Beim Anzeigen Ereignis des Formulars musst Du die beiden anderen Kombifelder zurückspulen - sonst nirgends.
Das klingt für mich leider wie verschlüsselt ....... die beiden anderen Kombifelder zurückspulen...... über das Ereignis Beim Anzeigen
Also der ganze VBA Code, zumindest die Me.cboxxxx.Requerys sind generell PC Beschäftiger (unnötig), der Me.Requery bringt das Fass dann zum überlaufen.
Aber was genau meinst du mit "Kombifelder zurückspulen", sorry :-[

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Adhoc Aktualisierung - möglich?
« Antwort #10 am: November 14, 2017, 01:28:48 »
Hallo Andreas,
Wenn die Felder unter den Kombinationasfeldern den Wert des Kombinationafeldes wiedergeben, verstehe ich deren Sinn überhaupt nicht.

Dem ungeachtet kann der Wert des Kombinationsfeld einfach in das untere Feld geschrieben werden.
Private Sub cboSchrank_AfterUpdate()
    me.feld_X=me.cboSchrank '.Column(n) )=> wenn eine andere Spalte des Kombinationsfeldes den Wert enthält
    Me.cboReihe.Requery       
    Me.cboSchublade.Requery
End Sub

Frithjof

 
Folgende Mitglieder bedankten sich: derilzemer

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1885
Re: Adhoc Aktualisierung - möglich?
« Antwort #11 am: November 14, 2017, 13:33:01 »
Hallo Andreas,
Zitat
Ergo kann/ist dieser Wert dynamisch,
Schon klar, - einen festen Wert könntest du ja auch direkt eintragen.
Dynamisch heisst für mich aber, dass der berechnet oder aus einer Tabelle
geholt wird. Also z.B., wie von Frithjof vermutet, der Wert aus einer der
Kombifeldspalten.
Du musst doch jetzt auch schon irgendeine Form der Wertzuweisung haben,
sonst würde ja nichts drinstehen. Und diese Zuweisung musst du in das/die
Kombi_AfterUpdate-Ereignis(se) verlegen. Evtl. auch noch in Form_Current.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: derilzemer