Inventur-Datenbank

Hallo Leute,
ich hab da folgendes Problem:
Ich erhalte jeden Tag eine Excel-Tabelle mit ca. 70 Einträgen (Spalte A=Produktname, Spalte B=Anzahl, Spalte D=Tagespreis).
Diese 70 Einträge möchte ich mit einem Makro in meine Access Datenbank verteilen. Meine Access Datenbank hat 70 Tabellen, deren Name der Produktname ist.
Die Spalte A der Excel-Tabelle enthält jeweils den Produktnamen, so daß das Makro sich jede Zeile vornimmt und diese dann in die entprechende Access-Tabelle als neuen Datensatz einfügt.
Ist noch keine Access-Tabelle für die Excel-Zeile vorhanden, so soll eine neue Tabelle angelegt werden.
Vermutlich ist es einfacher, die Excel-Tabelle zunächst nach Access zu importiere - oder ?

Bitte um Eure Mithilfe, da jeden Tag einzelnes Pflegen sehr aufwendig ist.

Danke

Hallo,

ich hab da folgendes Problem:

nö, nicht nur eins

Ich erhalte jeden Tag eine Excel-Tabelle mit ca. 70 Einträgen
(Spalte A=Produktname, Spalte B=Anzahl, Spalte D=Tagespreis).

und was soll damit geschehen?

Diese 70 Einträge möchte ich mit einem Makro

Makro = Holzweg

in meine Access Datenbank verteilen.

Meine Access Datenbank hat 70 Tabellen, deren Name der Produktname ist.
70 Tabellen = Holzweg

Die Spalte A der Excel-Tabelle enthält jeweils den
Produktnamen, so daß das Makro sich jede Zeile vornimmt und
diese dann in die entprechende Access-Tabelle als neuen
Datensatz einfügt.

warum werden diese Daten hinzugefügt und nicht ersetzt?

Ist noch keine Access-Tabelle für die Excel-Zeile vorhanden,
so soll eine neue Tabelle angelegt werden.

Holzweg!!

Vermutlich ist es einfacher, die Excel-Tabelle zunächst nach
Access zu importiere - oder ?

eine Verknüpfung reicht!

Bitte um Eure Mithilfe, da jeden Tag einzelnes Pflegen sehr
aufwendig ist.

das kann ich sehr gut verstehen. Welcher Dussel hat 70 Tabellen erstellen lassen? Das macht man mit einer (1) Tabelle!

Die Exceldaten werden per Anfügeabfrage dieser einen Tabelle hinzugefügt. Sowas ist in 1 Minute fertig!

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo Netwolf, danke für die Hinweise.
Es geht dabei um folgendes:
Stell Dir vor, wir, ich meine meine Firma, verkauft an Kunden Investment-Fonds Anteile. Für den Gesamtbestand erhalten wir eine Provision von unserer Lagerstelle. Allerdings in einer Summe.
Nun sind wir kürzlich dazu verdonnert worden, auf Anfrage auszurechnen wieviel Provison wir für den einzelnen Kunden erhalten haben.
Die Provision errechnet sich an hand des gesamt Eurogegenwertes.
Will sagen: Anzahl der gesamt eingelagerten Fonds einer Gattung mal Kurswert (Tageskurs) mal Provisionssatz durch (12x100) wg. monatlicher Zahlung.

Wenn ich also die Provision für meinen Einzelkunden ausrechnen will, dann brauche ich die Provision in Euro für einen Fondsanteil um später in einer Abfrage den Zeitraum des Besitzes abragen zu können und mal der Stückzahl des Einzelkunden zu nehmen.

Wenn ich zu kompliziert werde frag einfach nach !

Jedenfalls sind die Daten, die in den Tabellen gespeichert werden, unveränderlich und fest. Da dieses Daten der Vergangenheit sind.

Da ich mir eine Kurshistorie aufbauen muss ist für mich wichtig nicht alle Daten einzeln eingeben zu müssen.
Das soll dann VBA für mich in die Tabellen einpflegen.

Verstanden warum ich 70 Tabellen brauche ?

Gruß Christian

Hallo Netwolf, danke für die Hinweise.
Es geht dabei um folgendes:
Stell Dir vor, wir, ich meine meine Firma, verkauft an Kunden Investment-Fonds Anteile. Für den Gesamtbestand erhalten wir eine Provision von unserer Lagerstelle. Allerdings in einer Summe.
Nun sind wir kürzlich dazu verdonnert worden, auf Anfrage auszurechnen wieviel Provison wir für den einzelnen Kunden erhalten haben.
Die Provision errechnet sich an hand des gesamt Eurogegenwertes.
Will sagen: Anzahl der gesamt eingelagerten Fonds einer Gattung mal Kurswert (Tageskurs) mal Provisionssatz durch (12x100) wg. monatlicher Zahlung.

Wenn ich also die Provision für meinen Einzelkunden ausrechnen will, dann brauche ich die Provision in Euro für einen Fondsanteil um später in einer Abfrage den Zeitraum des Besitzes abragen zu können und mal der Stückzahl des Einzelkunden zu nehmen.

Wenn ich zu kompliziert werde frag einfach nach !

Jedenfalls sind die Daten, die in den Tabellen gespeichert werden, unveränderlich und fest. Da dieses Daten der Vergangenheit sind.

Da ich mir eine Kurshistorie aufbauen muss ist für mich wichtig nicht alle Daten einzeln eingeben zu müssen.
Das soll dann VBA für mich in die Tabellen einpflegen.

Verstanden warum ich 70 Tabellen brauche ?

Gruß Christian

Hallo Christian,

Verstanden warum ich 70 Tabellen brauche ?

ja, ich habe jetzt verstanden, dass du mit deinen 70 Tabellen gehörig auf dem Holzweg bist :smile:

Warum einfach, wenn es kompliziert auch geht? :smile:

Stell dir vor du hättest 1000 Kunden. D.h. du würdest dann 1000 Tabellen erstellen? Ein Wahnsinn!

Die Lösung: 1 Tabelle

Die Datensätze haben die Kunden-ID / bzw. Kundenname und sind so einfach zu filtern und auszuwerten.

Mit einer zweiten Tabelle für die Kundendaten verknüpft mit den Konto-Daten könnte man ein Haupt- mit einem Unterformular erstellen und würde sofort alles sehen können.

Du solltest dringend dein Datenbank-Konzept überdenken.

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo,

Verstanden warum ich 70 Tabellen brauche ?

mhmm, > nein…

PS:

Ach Herrjeh, das Nachfolgende gehört nicht in diesen Thread… :wink:

so ohne Weiteres ist die Darstellung des akt. DS in der „Mitte“ eines Endlosforms nicht möglich…

vielleicht bringt dich diese weiter:
http://lebans.com/formatbycriteria.htm

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Netwolf,

ja, ich habe jetzt verstanden, dass du mit deinen 70 Tabellen
gehörig auf dem Holzweg bist :smile:

Haste nicht !

Stell dir vor du hättest 1000 Kunden. D.h. du würdest dann
1000 Tabellen erstellen? Ein Wahnsinn!

Hab ich aber nicht. Es sind nur einzelne Kunden, für die ich das ausrechnen muß.

Stell dir vor, ein Kunde von mir hat von 11.2004 bis 05.2006 einen Fonds (200 Anteile) besessen und ich soll nun die für ihn kassierte Provision ausrechnen.
Dann kann ich doch nur eine Abfrage machen, welche Provisionen ich für einen Fondsanteil in der besagten Zeit monatlich erhalten habe und diesen Wert mal 200 nehmen.
Es kann ja auch sein, daß der Kunde fünf weitere Fonds besessen hat und zwischendurch einen Teil seiner Bestände verkauft hat.

Fakt ist jedoch, daß ich jeden Monat eine Exceltabelle erhalte, mit den neuen Provisionssätzen und Bewertungsstichtagen (entscheidend für den Anteilspreis).

Die Lösung: 1 Tabelle

Immernoch nur eine Tabelle ?

Die Datensätze haben die Kunden-ID / bzw. Kundenname und sind
so einfach zu filtern und auszuwerten.

Völlig irrelevant für die Berechnung ist hier der Kunde.

Mit einer zweiten Tabelle für die Kundendaten verknüpft mit
den Konto-Daten könnte man ein Haupt- mit einem Unterformular
erstellen und würde sofort alles sehen können.

Das hätte zur Folge, daß ich für jeden Fall eine neue Verknüpfung schaffen müsste !

Du solltest dringend dein Datenbank-Konzept überdenken.

Ich denk nochmal darüber nach, versprochen !

Grüße aus Rostock
Wolfgang
(Netwolf)

Grüße aus Kuddewörde zurück - heute schon Schnee geschaufelt ?
Soll Euch ja ganz schön erwischt haben.

Christian

Hallo Christian,

Hab ich aber nicht. Es sind nur einzelne Kunden, für die ich
das ausrechnen muß.

das ist mir klar, ich wollte nur verdeutlichen, dass man es so wie du es gemacht hast, nicht macht!

Stell dir vor, ein Kunde von mir hat von 11.2004 bis 05.2006
einen Fonds (200 Anteile) besessen und ich soll nun die für
ihn kassierte Provision ausrechnen.

kein Problem mit einer Tabelle :smile:

Dann kann ich doch nur eine Abfrage machen, welche Provisionen
ich für einen Fondsanteil in der besagten Zeit monatlich
erhalten habe und diesen Wert mal 200 nehmen.

ok, das geht auch mit einer Tabelle

Es kann ja auch sein, daß der Kunde fünf weitere Fonds
besessen hat und zwischendurch einen Teil seiner Bestände
verkauft hat.

ok, wie filterst du das jetzt aus?

Fakt ist jedoch, daß ich jeden Monat eine Exceltabelle
erhalte, mit den neuen Provisionssätzen und
Bewertungsstichtagen (entscheidend für den Anteilspreis).

Die Lösung: 1 Tabelle

Immernoch nur eine Tabelle ?

klar

Die Datensätze haben die Kunden-ID / bzw. Kundenname und sind
so einfach zu filtern und auszuwerten.

Völlig irrelevant für die Berechnung ist hier der Kunde.

ok, wie auch immer, du hast die Daten und kannst diese auswerten, wonach auch immer.

Mit einer zweiten Tabelle für die Kundendaten verknüpft mit
den Konto-Daten könnte man ein Haupt- mit einem Unterformular
erstellen und würde sofort alles sehen können.

Das hätte zur Folge, daß ich für jeden Fall eine neue
Verknüpfung schaffen müsste !

nö, nur eine für alle :smile:

Du solltest dringend dein Datenbank-Konzept überdenken.

Ich denk nochmal darüber nach, versprochen !

probier es doch einfach mal aus

Grüße aus Kuddewörde zurück - heute schon Schnee geschaufelt ?
Soll Euch ja ganz schön erwischt haben.

glaube nicht was im Fernsehen berichtet wird, hier regnet es :smile:
+0,7 C° z.Z. noch ca. 0-5 cm Schnee auf den Autos übrig.

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo Netwolf,

Es kann ja auch sein, daß der Kunde fünf weitere Fonds
besessen hat und zwischendurch einen Teil seiner Bestände
verkauft hat oder aufgestockt hat.

ok, wie filterst du das jetzt aus?

Jetzt? - Aus unserem Umsatzprogramm errechne ich „zufuss in Excell“ den Bestand zu jedem Bewertungsstichtag und errechne dann über den Kurs, den ich wiederum erst im Internet abfrage, den €-Gegenwert und darauf den Provisionssatz.
Ich weiß, das ist steinzeitlich, aber z.Zt. die einzige Methode !

Immernoch nur eine Tabelle ?

klar

ok, wie auch immer, du hast die Daten und kannst diese
auswerten, wonach auch immer.

Das hätte zur Folge, daß ich für jeden Fall eine neue
Verknüpfung schaffen müsste !

nö, nur eine für alle :smile:

aber was soll ich denn verknüpfen ? -die Kunden für die ich den Mist ermitteln muss wechseln von Fall zu Fall.

Grüße aus Kuddewörde

Christian

Hallo Christian,

aber was soll ich denn verknüpfen ? -die Kunden für die ich
den Mist ermitteln muss wechseln von Fall zu Fall.

ok, dann lass die Verknüpfung (und Kunden) weg.
Ich dachte 70 Tabellen = 70 Kunden, aber wenn die nicht wichtig sind, ist es erst recht mit einer Tabelle getan.

Könntest du hier mal die Felder aufführen, die du in der Tabelle nutzt? Dann kann man dir leichter helfen.

Erstelle erstmal eine Tabelle und kopiere den Inhalt aller 70 Tabellen in diese eine neue Tabelle.

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo Netwolf,

habe mitlerweile die Daten erhalten. Leider sind es mehr Daten, als erwartet.
Beim Import hat access bei ca. 860.000 Datensätzen in einer Tabelle gestreikt. es sind aber noch mehr zu importieren.

Soll ich das immernoch über nur eine Tabelle machen ?

Die Spalten Lauten: Datum, ISIN, Rücknahmepreis, Währung.

Gruß Christian

Hallo Christian,

habe mitlerweile die Daten erhalten. Leider sind es mehr
Daten, als erwartet.

das ist immer so :frowning:

Beim Import hat access bei ca. 860.000 Datensätzen in einer
Tabelle gestreikt. es sind aber noch mehr zu importieren.

  • wie lautet die Fehlermeldung?
  • ist die maximale Größe von 2 GB erreicht?
  • ist genug Platz auf dem Datenträger?

Soll ich das immernoch über nur eine Tabelle machen ?

klar, es würde dir nicht nützen, die Daten auf 70 Tabellen aufzuteilen.

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo Netwolf,

  • wie lautet die Fehlermeldung?
  • ist die maximale Größe von 2 GB erreicht?
  • ist genug Platz auf dem Datenträger?

Die Fehlermeldung lautet, dass die maximale Zeilenanzahl für eine Tabelle erreicht ist und nicht alle Daten importiert werden konnten.
Zur Info, wir verwenden Access 2003.
Ich weiss zwar nicht ob es Dir hilft, aber lieber mehr Info als zu wenig.

Ich hab da noch ein anderes Problem. Die Daten, die ich erhalten habe, kamen in einer TxT-Datei. Da das Datum im Format JJJJMMTT kam wäre es schön, wenn ich das beim Import auf TTMMJJJJ umstellen könnte. weißt Du evtl. einen Trick ? Denn das Format kannte Access nicht.
Außerdem habe ich versucht in der txt-Datei im Betragsfeld den Punkt (z.B. 43.00000) durch ein Komma zu ersetzen das dauerte ewig. Wenn bloß die Daten erstmal in Access sind, dann könnte ich dafür eine VBA schleife basteln.

Fakt ist, dass ich längst nicht alle Datensätze benötige, sondern nur die, an denen Provision gezahlt wurde.
Aber die herasusfiltern kann ich erst, wenn die Daten ornungsgemäß und vollständig importiert wurden.

P.S.:Habe kommende Woche Urlaub. Kann sein, dass ich mich erst in der Woche darauf melde.

Grüße aus Kuddewörde
Christian