Access2003/MySql5024 Termine die >heute sind

ThomasBu

Grünschnabel
hi

ich habe eine DB mit adressen und kontakte. in einem formular lasse ich mir die firma und in einem unterformular die kontaktnamen die zu dieser firma gehören anzeigen.
zu den kontakten wird aber auch (wenn vorhanden) der nächste termin angezeigt. es könnte aber auch sein das es mehere termine für diesen kontakt gibt aber es soll der nächst liegende termin angezeigt werden.

Meine Lösung:
beim schließen des formulars für die anlage des termins laufen aktualiesierungs abfragen in access die mir den nächstliegenden termin bereitstellen (für die anzeige im formular).

Mein Problem: :(
das schließen des formulars dauert lange. gibt es wohl eine andere lösung?

die daten sind in drei tabellen
tbl_adre, tbl_kont und tbl_term.

als anfänger würde ich meinen das es vielleicht mysql übernehmen könnte?

für ein wenig hilfe wäre ich dankbar.

thomas
 
Wie sehen denn deine Aktualisierungsabfragen (komisches Wort immer wieder) aus, dass sie so lange dauern?

Reicht es nicht beim Öffnen des Formulars den Termin durch eine Abfrage zu ermitteln?

Was meinst du soll MySQL da besser können?
 
Hallo
es sind drei einzelne abfragen
die 1.
UPDATE tbl_KONT INNER JOIN tbl_TERM ON tbl_KONT.KONT_ID = tbl_TERM.TERM_KONT_ID SET tbl_KONT.KontTerm = [Term_Start]
WHERE (((tbl_TERM.TERM_Start)>=Date()) AND ((tbl_KONT.KONT_ID) Like [forms]![frm_ADRE_Hfo]![frm_KONT_UFo]![Text19]));

aktualisiert den start termin >=Datum()

die zweite abfrage:
UPDATE tbl_KONT SET tbl_KONT.KontTerm = 0
WHERE (((tbl_KONT.KONT_ADRE_ID) Like [forms]![frm_ADRE_Hfo]![ADRE_ID]));

setzt 0

die dritte:
UPDATE tbl_KONT INNER JOIN tbl_TERM ON tbl_KONT.KONT_ID = tbl_TERM.TERM_KONT_ID SET tbl_KONT.KontTerm = [Term_Start]
WHERE (((tbl_KONT.KontTerm)>[term_start]) AND ((tbl_TERM.TERM_Start)>=Date()) AND ((tbl_KONT.KONT_ID) Like [forms]![frm_ADRE_Hfo]![frm_KONT_UFo]![Text19]));

könnte man diese drei nicht zusammen fassen?

Zitat von zeja:
Reicht es nicht beim Öffnen des Formulars den Termin durch eine Abfrage zu ermitteln?

leider sind formulare anzeige und eingabe zugleich.
ich habe das gefühl das trotz angabe der Kont_ID alle datensätze durchlaufen werden oder die abfragen anders struckturiert werden müssen oder.....?
es werden ja immer neue termine angelegt und andere nutzer sollen dann den nächsten termin angezeigt bekommen ( z.B. 10.10.06, 25.10.06, 5.11.06 eben den 10.10.06 und nicht 5.11.06)

Zitat 2 von zeja:

Was meinst du soll MySQL da besser können?

kann man einen trigger nutzen der irgentwie zeitgesteuert abläuft?

alles läuft eigentlich recht ordentlich (bis aufs öffnen der DB).
doch wenn ein termin angelegt wird und aktualisiert wird, hat man 2-3 sekunden das gefühl die DB ist abgeschmiert. :(

thomas
 
Hallo
es sind drei einzelne abfragen
die 1.
UPDATE tbl_KONT INNER JOIN tbl_TERM ON tbl_KONT.KONT_ID = tbl_TERM.TERM_KONT_ID SET tbl_KONT.KontTerm = [Term_Start]
WHERE (((tbl_TERM.TERM_Start)>=Date()) AND ((tbl_KONT.KONT_ID) Like [forms]![frm_ADRE_Hfo]![frm_KONT_UFo]![Text19]));

aktualisiert den start termin >=Datum()

die zweite abfrage:
UPDATE tbl_KONT SET tbl_KONT.KontTerm = 0
WHERE (((tbl_KONT.KONT_ADRE_ID) Like [forms]![frm_ADRE_Hfo]![ADRE_ID]));

setzt 0

die dritte:
UPDATE tbl_KONT INNER JOIN tbl_TERM ON tbl_KONT.KONT_ID = tbl_TERM.TERM_KONT_ID SET tbl_KONT.KontTerm = [Term_Start]
WHERE (((tbl_KONT.KontTerm)>[term_start]) AND ((tbl_TERM.TERM_Start)>=Date()) AND ((tbl_KONT.KONT_ID) Like [forms]![frm_ADRE_Hfo]![frm_KONT_UFo]![Text19]));

könnte man diese drei nicht zusammen fassen?

Zitat von zeja:
Reicht es nicht beim Öffnen des Formulars den Termin durch eine Abfrage zu ermitteln?

leider sind formulare anzeige und eingabe zugleich.
ich habe das gefühl das trotz angabe der Kont_ID alle datensätze durchlaufen werden oder die abfragen anders struckturiert werden müssen oder.....?
es werden ja immer neue termine angelegt und andere nutzer sollen dann den nächsten termin angezeigt bekommen ( z.B. 10.10.06, 25.10.06, 5.11.06 eben den 10.10.06 und nicht 5.11.06)

Zitat 2 von zeja:

Was meinst du soll MySQL da besser können?

kann man einen trigger nutzen der irgentwie zeitgesteuert abläuft?

alles läuft eigentlich recht ordentlich (bis aufs öffnen der DB).
doch wenn ein termin angelegt wird und aktualisiert wird, hat man 2-3 sekunden das gefühl die DB ist abgeschmiert. :(

thomas
 
Zurück