Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Daten aus Tabelle berechnen und in Formular übernehmen
zurück: Letzte Änderung mitschreiben (Datum/Uhrzeit) weiter: Formular-Popup abhängig vom Access-Fenster? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
sonnenfisch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Jul 2009, 15:42
Rufname:

Daten aus Tabelle berechnen und in Formular übernehmen - Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Hallo,

ich habe eine Formular auf Basis einer Tabelle erstellt, welche folgende Felder enthät.

ID
Auftrag
Stückzahl
Anfangsnummer
Endnummer

Der Auftrag kommt in der Tabelle stets mehrfach vor. Alle Teile eines Auftrages werden mit einer Nummer gestempelt diese stellen die Anfangs bis Endnummern dar. Z.B ein Auftrag enhält 3 Teile, so ist die Anfangsnummer 1 und die Endnummer 3.

Nun soll bei Eingabe des gleichen Auftrages und z.B. weiteren 2 Teilen automatisch im Formular die Anfangsnummer 4 und Endnummer 5 erscheinen.

Zur genaueren Veranschaulichung füge icheinen Screenshot der Tabelle an.

Gruß
Micha



Bild1.jpg
 Beschreibung:
 Dateigröße:  15.72 KB
 Angeschaut:  1074 mal

Bild1.jpg


MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Jul 2009, 16:20
Rufname:
Wohnort: NRW


AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Hallo Micha.

Bei Eingabe eines neuen Auftrages könntest du die Anfangs- und Endnummern folgendermaßen feststellen:
Code:
    Me!Anfangsnummer = DMax("Endnummer", "tabelle", _
                            "Auftrag=" & Me!Auftrag) + 1
    Me!Endnummer = Me!Anfangsnummer + Me!Anzahl - 1
Ist der Auftrag noch nicht da, liefert DMax eine 0, somit ergibt sich der Anfangswert 1.
_________________
Gruß MissPh!
sonnenfisch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Jul 2009, 16:51
Rufname:

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Hallo MissPh!

danke für Deine Hilfe.

Ich habe den Code beim Verlassen des Feldes Stückzahl eingefügt. Access bringt aber dann die Fehlermeldung "Datentypen in Kriterienausdruck unverträglich." und markiert die Zeile
Code:
    Me!Anfangsnummer = DMax("Endnummer", "tabelle", _
                            "Auftrag=" & Me!Auftrag) + 1 'GELB
LG Micha
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Jul 2009, 16:54
Rufname:
Wohnort: NRW

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Könnte es sein, dass das Datenfeld Auftrag vom Typ Text ist?
Dann musst du den Wert in Hochkommata setzen:
Code:
..., "Auftrag='" & Me!Auftrag & "'")

_________________
Gruß MissPh!
sonnenfisch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Jul 2009, 11:34
Rufname:


AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

sonnenfisch am 15. Jul 2009 um 17:03 hat folgendes geschrieben:
Razz Ganz lieben Dank MissPh! Razz jetzt hat es funktioniert. Habe Auftrag als Zahl formatiert.

LG
Micha

Hallo MissPh!,

leider funktioniert die Geschichte nicht, wenn der Auftrag noch nicht vorhanden ist. Dann werden für Anfangs- und Endnummer keine Daten eingetragen. Ich habe schon versucht die daten nach eingabe des Auftrages zu aktualisieren (leider keine Ahnung ob das so richtig ist)
Code:
Private Sub Auftrag_AfterUpdate()
    Me.Refresh
End Sub
aber es geht trotzdem nicht. Kannst Du mir nochmal helfen?
LG Micha
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 12:03
Rufname:
Wohnort: NRW

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Das verstehe ich nicht, wie hast du das denn eingesetzt? Welches Ereignis hast du genommen?
Zeig mal deinen Code...

_________________
Gruß MissPh!
sonnenfisch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Jul 2009, 12:48
Rufname:

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Beim verlassen von Stückzahl (liegt vor Anfangs- und Endnummer:
Code:
Private Sub Stückzahl_Exit(Cancel As Integer)
    Me!Anfangsnummer = DMax("Endnummer", "T_Achsen", _
                            "Charge=" & Me!Charge) + 1
    Me!Endnummer = Me!Anfangsnummer + Me!Stückzahl - 1
End Sub
Das Feld Auftrag heisst eigentlich Charge. Wenn die Charge schon vorhanden ist funktioniert alles wunderbar.

LG
Micha
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 12:52
Rufname:
Wohnort: NRW

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Was steht denn zu dem Zeitpunkt in Me!Charge?

Wenn das ein gültiger Wert ist, der noch nicht in T_Achsen vorhanden ist, sollte DMax() eine 0 liefern, so dass die Anfangsnummer zur 1 wird.

_________________
Gruß MissPh!
sonnenfisch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Jul 2009, 12:57
Rufname:

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

in Me!Charge steht ein gültiger Wert, welcher noch nicht in der Tabelle vorhanden ist. Kann ich Dir die Datenbank mal schicken?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 13:01
Rufname:
Wohnort: NRW

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Wenn du sie nicht hier hochladen kannst oder willst... (PN ist unterwegs)
_________________
Gruß MissPh!
MissPh!
Office-VBA-Programmiererin


Verfasst am:
16. Jul 2009, 14:14
Rufname:
Wohnort: NRW

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Nun, ich hatte ja mehrfach behauptet, dass DMax "0" liefern würde im Falle des Nicht-Vorhandenseins einer Charge. Dies ist aber offensichtlich in A2003/A2007 nicht mehr der Fall, der Rückgabewert ist NULL. Das kann man leicht feststellen, indem man den Code im Unterbrechungsmodus testet und dann im Direktfenster mit
?DMax("Endnummer", "T_Achsen", "Charge=" & Me!Charge)
das Ergebnis prüft.

Den daraus resultierenden Fehler kann man nun umgehen, indem man die NZ-Funktion einsetzt:
Code:
    Me!Anfangsnummer = Nz(DMax("Endnummer", "T_Achsen", _
                               "Charge=" & Me!Charge), 0) + 1
Das war's. Very Happy
_________________
Gruß MissPh!
sonnenfisch
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Jul 2009, 14:21
Rufname:

AW: Daten aus Tabelle berechnen und in Formular übernehmen - AW: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Ganz lieb von Dir! Razz

Jetzt funktioniert es ohne Probleme.

Danke
Willi Wipp
Moderator


Verfasst am:
19. Jul 2009, 04:33
Rufname:
Wohnort: Raum Wiesbaden


Re: Daten aus Tabelle berechnen und in Formular übernehmen - Re: Daten aus Tabelle berechnen und in Formular übernehmen

Nach oben
       Version: Office 2007

Hi Ihr Zwei.

das ist eigentlich das klassische Beispiel fuer Probleme die durch das unbedingte Speichern
von berechneten Werten entstehen, die man jederzeit wieder aus gespeicherten Werten berechnen kann.
sonnenfisch hast Du Dir mal angeschaut was passiert wenn Du bei einem bestehenden DS
das Feld Stueckzahl noch einmal betritts und es wieder verlaesst?
Auch wenn Du das Ereignis Beim Verlassen (Exit) in Nach Aktualisierung (AfterUpdate)
aendern wuerdest, dann hast Du das Probelm noch immer wenn Du Dich bei der Stueckzahl mal verschrieben hast.
in einer Abfrage koennte man die "Berechnungen" fuer Anfangsnummer und Endnummer
z.B. einfach so erledigen
Code:
SELECT T.ID, T.Auftrag, T.Stueckzahl,
       Nz((SELECT Sum(Stueckzahl)
           FROM   tblDeineTabelle
           WHERE  Auftrag = T.Auftrag
           AND    ID < T.ID),0)+1 AS Anfangsnummer,
       Nz((SELECT Sum(Stueckzahl)
           FROM   tblDeineTabelle
           WHERE  Auftrag = T.Auftrag
           AND    ID <= T.ID),0)+0 AS Endnummer
FROM   tblDeineTabelle AS T;
Wenn Du darauf bestehst die nicht berechneten Daten in der Abfrage auch aendern zu koennen Wink
Code:
SELECT ID, Auftrag, Stueckzahl,
       Nz(DSum("Stueckzahl","tblDeineTabelle",
               "Auftrag = " & Auftrag & " " &
           "AND ID < " & ID),0)+1 AS Anfangsnummer,
       Nz(DSum("Stueckzahl","tblDeineTabelle",
               "Auftrag = " & Auftrag & " " &
           "AND ID <= " & ID),0)+0 AS Endnummer
FROM   tblDeineTabelle;
Wenn Du sie unbedingt Speichern willst, dann musst Du das erneute Setzen unbedingt abfangen!
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Mehrmalige Abfrage durch Formular 11 Wickiman 897 03. Mai 2004, 15:23
Willi Wipp Mehrmalige Abfrage durch Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle formatiert in txt-Datei exportieren 1 robby 1115 12. Apr 2004, 23:10
Helge Tabelle formatiert in txt-Datei exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: Zeilenumbruch nach Einfügen Word Tabelle 2 topflop 1698 30. März 2004, 16:06
Gast Zeilenumbruch nach Einfügen Word Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: nicht-atomare Daten aus EXCEL importieren 2 Panther 908 29. März 2004, 16:33
Panther nicht-atomare Daten aus EXCEL importieren
Keine neuen Beiträge Access Tabellen & Abfragen: neue Tabellen erstellen aus vorhandener Tabelle 6 moni 2010 29. März 2004, 15:39
moni neue Tabellen erstellen aus vorhandener Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: datensatz aus mehreren Tabellen im formular anzeigen 1 SixPack 1197 29. März 2004, 10:53
Willi Wipp datensatz aus mehreren Tabellen im formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Wert einer Abfrage in Tabelle kopieren? 1 BerlinerWolf 2009 21. März 2004, 12:43
Maya Wert einer Abfrage in Tabelle kopieren?
Keine neuen Beiträge Access Tabellen & Abfragen: neuen termin berechnen 8 h9140028 1792 18. März 2004, 14:39
h9140028 neuen termin berechnen
Keine neuen Beiträge Access Tabellen & Abfragen: eine abfragewert berechnen 1 Hannes 500 04. März 2004, 22:02
lotti eine abfragewert berechnen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten als Spaltenüberschriften einer anderen Tabelle 1 Melburnt 685 03. März 2004, 17:11
lothi Daten als Spaltenüberschriften einer anderen Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld im Formular als Kriterium für eine Abfrage 1 gunderma 2621 03. März 2004, 10:05
tania63 Kombinationsfeld im Formular als Kriterium für eine Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus Formular erstellen 2 frkrone 3248 12. Feb 2004, 14:22
frkrone Abfrage aus Formular erstellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum