Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: reiner60 am Dezember 11, 2012, 20:26:12

Titel: Tabelle oder Abfrage aktualisieren
Beitrag von: reiner60 am Dezember 11, 2012, 20:26:12
Hallo Forum
ich weiß wiedermal nicht weiter :-[
gibt es ein Befehl/Anweisung womit man innerhalb einer Function eine Tabelle/Abfrage neu einlesen kann  ???

z.b.

PersonKKwert1 = DCount("[Kurzbezeichnung]", "KKTempAbfrageKKwert1", "[Kurzbezeichnung] = '" & PersonSpalte1 & "'")


Function Blatt1()

If PersonKKwert1 > 0 Then
Wert AV11 Setzen
Dann den Datensatz löschen
End If

??? Hier die Abfrage  PersonKKwert1 neu einlesen

If PersonKKwert1 > 0 Then
Wert AV21 Setzen
Dann den Datensatz löschen
End If

??? Hier die Abfrage  PersonKKwert1 neu einlesen

If PersonKKwert1 > 0 Then
Wert AV21 Setzen
Dann den Datensatz löschen
End If


bis AV71

End Function 

Danke Reiner  :) :) :)
Titel: Re: Tabelle oder Abfrage aktualisieren
Beitrag von: DF6GL am Dezember 11, 2012, 21:13:24
Hallo,

völlig unverständlich, was Du meinst/schreibst....  ???

" PersonKKwert1 "   ist keine Abfrage, sondern eine Variable, die die anzahl der Datensätze enthält, die dem Kriterium in der DCount-funktion entsprechen.

Was soll AV11 etc.  sein?

--Welchen Datensatz willst Du löschen?

- - Warum kommt die selbe Code for  AV21  doppelt vor?



"gibt es ein Befehl/Anweisung womit man innerhalb einer Function eine Tabelle/Abfrage neu einlesen kann  "

Wenn Du damit die Abfrage KKTempAbfrageKKwert1 in der Dcount-Funktion meinst, dann muss da gar nichts "neu gelesen" werden... Sobald die Codezeile (z. B.  erneut) ausgeführt wird,  liefert die DCount_Funktion die entspr. Anzahl der gefundenen Datensätze zurück.  Ich sehe hier auch keine Änderung am Kriterium (Wert in PersonSpalte1 , die für einen anderen "Anzahl"-Wert sorgen könnte.

Titel: Re: Tabelle oder Abfrage aktualisieren
Beitrag von: reiner60 am Dezember 12, 2012, 18:37:54

Hallo  DF6GL,
danke für deine schnelle Antwort

- das zweite AV21 sollte AV31 sein

- AV11 bis AV71 sind Felder in den ein Betrag gesetzt werden soll

- gelöscht soll der Datensatz von den er den Betrag genommen hat
  dafür hab ich eine Nummer in den Datensatz

Als Beispiel hat ''PersonKKwert1'' 3 Datensätze

AV11 bekommt den Betrag von ersten Datensatz     100
AV21 bekommt den Betrag von zweiten Datensatz   200
AV31 bekommt den Betrag von dritten Datensatz     300
nachdem der  Betrag gesetzt wurde, wird  der Datensatz gelöscht
das der Betrag von zweite bzw. dritten Datensatz  gesetzt werden kann.

Es wird aber immer der Betrag 100  gesetzt
deswegen ''PersonKKwert1'' neu einlesen

Ich hatte mir gedacht das es so geht aber leider nicht
Titel: Re: Tabelle oder Abfrage aktualisieren
Beitrag von: DF6GL am Dezember 12, 2012, 21:09:16
Hallo,


??? ??? ??? ???

AV11 bekommt den Betrag von ersten Datensatz     100
AV21 bekommt den Betrag von zweiten Datensatz   200
AV31 bekommt den Betrag von dritten Datensatz     300

AV11= dlookup("Betrag","'PersonKKwert1'',"Nummer=100")
AV21= dlookup("Betrag","'PersonKKwert1'',"Nummer=200")
AV31= dlookup("Betrag","'PersonKKwert1'',"Nummer=300")

nachdem der  Betrag gesetzt wurde, wird  der Datensatz gelöscht

WARUM??



das der Betrag von zweite bzw. dritten Datensatz  gesetzt werden kann.


??? ??? ??? ???

Es wird aber immer der Betrag 100  gesetzt

WO wird der Betrag gesetzt?  In einem Tabellenfeld, in einem Formularfeld?, in eine Varable?


Ich befürchte, Dein Konzept, das zu erreichen , was Du willst, ist suboptimal...


deswegen ''PersonKKwert1'' neu einlesen


WOHIN einlesen???
Titel: Re: Tabelle oder Abfrage aktualisieren
Beitrag von: reiner60 am Dezember 12, 2012, 22:31:49

Hallo DF6GL,

ich hab es geschafft  ;D ;D ;D ;D
habe die Variable durch DLookup bzw. DCount ersetzt und es klappt  ;D

Ich habe zwei Tabellen    KKTemp und DebekaUnter

In Tabelle KKTemp ist der Betrag,
der in Tabelle DebekaUnter in Feld AV11, AV21 ..... AV71   aktualisiert werden soll.

Es soll die Tabelle aktualisieren werden      kein Formular

Der Datensatz soll gelöscht werden, weil er sonst immer den gleichen (den ersten) Datensatz zum aktualisieren nimmt von der Abfrage  "KKTempAbfrageKKwert1"
Ich denk mal das in der zweiten, dritten ...... siebten If Anweisung  ''PersonKKwert1'' nicht aktualisiert wird.

Jedenfalls geht es ohne Variable
Ist zwar schade um die Variable
aber wenn es nicht anders geht

ich könnte dir die datenbank mal schicken um zu schauen
aber nur wenn  du lust hast

gruß reiner
Titel: Re: Tabelle oder Abfrage aktualisieren
Beitrag von: Beaker s.a. am Dezember 12, 2012, 23:53:53
Hallo,
@Franz
ZitatAV11 bis AV71
deutet irgendwie darauf hin, dass er im falschen Forum ist  ;)
@Reiner
Du bist hier bei Access, nicht bei Excel  ;)
Wundert mich eh, das Franz nicht gleich auf ein höchstwahr-
scheinlich völlig falsches Datenmodell hingewiesen hat.
Könnte für die Zukunft Deiner DB wirklich das Beste sein sie
doch mal hoch zu laden. Ich selber habe zwar immer (noch)
Probleme mich schnell in sowas reinzudenken, aber hier sind
einige freundliche Helferlein, die das meist schnell umgesetzt
haben.
gruss ekkehard