WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Software

Software Rat & Tat bei Softwareproblemen

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 25.02.2003, 20:58   #1
robi1a
Veteran
 
Registriert seit: 03.07.2000
Beiträge: 240


Standard Access2000 Felder aus verschiedenen Tabelle auslesen und verarbeiten

Hallo
Ich bin ein Access2000 Newbie und habe folgendes Problem. Ich habe in eienr Datenbank 2 Tabellen (Tabelle Adressen und Tabelle Fixwerte). Weiters habe ich habe ein Formular erstellt zur Eingabe der Adressen. Im der Tabelle habe ich ein Feld Kundennummer, dass als AutoWert definiert ist. Weiters habe ich ein Feld Referenznummer, dass bei der Eingabe automatisch erstellt werden soll. Die Referenznummer setzt sich aus der Kundennummer (AutoWert) und 2 Feldern in der Tabelle Fixwerte zusammen. Mein Problem ist nun: Wie kann ich im Formular auf die beiden Werte in Fixwerte zugreifen und die Referenznummer gleich errechnen und das Ergebnis gleich in die Tabelle Adressen eintragen? Ich fürchte das geht nur mit VBA. Ich habe das zwar mittels einer Abfrage schon geschafft, ist mir aber zu umständlich (dauert relativ lange bei einer grossen Tabelle).
Ich hoffe da kann mir wer weiter helfen.
robi1a ist offline   Mit Zitat antworten
Alt 25.02.2003, 21:14   #2
wiff
Veteran
 
Registriert seit: 12.04.2000
Beiträge: 214


Standard

... errechnete Werte in die Tabelle eintragen verstößt gegen einen guten Entwurf einer Datenbank!!!!!

wiff
wiff ist offline   Mit Zitat antworten
Alt 25.02.2003, 22:24   #3
robi1a
Veteran
 
Registriert seit: 03.07.2000
Beiträge: 240


Standard

Wiff, dann hätte ich gerne eine Antwort auf folgende Problemstellung. In einer Tabelle sind 500-800 Adressen mit Kundennummer gespeichert. In einer anderen Tabelle hast Du Projektnummer, Projekttyp und Preis gespeichert. Aus Kundennummer, Projekttyp und Projektnummer wird eine 12stellige Referenznummer (kommt auf Zahlschein) erstellt (durch Stringverknüpfung mit führenden 0). In eine CSV Datei werden dann aus Telebanking die Buchungszeilen exportiert. Im Access besteht eine Verknüpfung auf diese CSV-Datei. Nun muss über die 12stellige Refernznummer herausgefilter werden, wer bezahlt hat und wer nicht um dann in weiterer Folge eine Mahnung zu drucken. Das ganze soll dann noch so aufgebaut sein, dass der Mahn-Prozess jederzeit laufen darf (z.B. einmal pro Woche).
robi1a ist offline   Mit Zitat antworten
Alt 25.02.2003, 23:12   #4
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

würde eine query bauen, die beide tabellen abfrägt und dieses "zugriffsfeld" zusammenbaut.

wie sind die spalten aufgebaut ?
...dann kann ich mal versuchen, eine query zusammenzubasteln!

die query kann dann auch - wenn nötig - das ergebnis in eine temporäre tabelle schreiben.

mfg
-hannes
Biri ist offline   Mit Zitat antworten
Alt 26.02.2003, 23:42   #5
robi1a
Veteran
 
Registriert seit: 03.07.2000
Beiträge: 240


Standard

Hallo Biri
Mit einem Query habe ich das zusammen gebracht. Es gibt nur 2 Probleme damit. Bei der Menge der Adressen dauert die Erstellung des Serienbriefs relativ lange. Zumal der PC auf dem das letztentlich laufen nicht der Schnellste ist. Das grössere Problem ist aber, dass ich bei den Mahnung sehr genau aufpassen muss welcher Zeitraum in die CSV Datei exportiert wurde. So könnte es vorkommen, dass eine Mahnung gedruckt wird, für jemanden der bereits bezahlt hat (nur weil die Eingezahlung vor dem Beginn des Exports liegt). Darum hätte ich mir die Lösung so vorgestellt.
Ich lasse die Einzahlungsprüfung 1x pro Woche laufen (über die letzte Woche) und trage die Einzahlung in die Adressliste dazu ein. Ist einmal ein Wert drinnen, bleibt er auch drinnen unabhängig vom geprüften Zeitraum. Am Ende der Zahlungsfrist bleiben dann nur die Säumigen übrig. So hätte ich mir das vorgestellt.
robi1a ist offline   Mit Zitat antworten
Alt 26.02.2003, 23:46   #6
robi1a
Veteran
 
Registriert seit: 03.07.2000
Beiträge: 240


Standard

Ups, habe gerade gemerkt, dass ich im falschen Forum bin. Eigentlich wollte ich meine Anfrage ins Forum Programmierung stellen. Sorry
robi1a ist offline   Mit Zitat antworten
Alt 27.02.2003, 09:00   #7
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi !

dass die erstellung des serienbriefes lange dauert, liegt nicht am query. (außer es ist sehr komplex, was in diesem fall aber wohl nicht so ist)

Die Erstellung des Serienbreifes seitens Word dauert einfach lange.

hab das selbe gemacht - query hat 80 Zeilen (ergebnis in 1 sekunde da) - Erstellung eines Serienbriefes davon dauert jedoch ca. 1 minute (p4, 1.8 GHz) , obwohl das ergebnis des queries in eine tabelle eingefügt wurde.

soweit ich das was du vor hast verstanden habe, sollte es auch so funktionieren, wie du beschreibst.

...quasi im query berücksichtigen, dass die Datensaätze nicht enthalten sind, welche das Kennzeichen "haben inzwischen bezahlt" gesetzt haben.
Biri ist offline   Mit Zitat antworten
Alt 27.02.2003, 19:10   #8
robi1a
Veteran
 
Registriert seit: 03.07.2000
Beiträge: 240


Standard

Ich habe die Tabelle Adressen (über ein Formular) offen habe nun folgende 2 Probleme:
1) Bei der Referenznummer muss ich 2 Werte aus der Tabelle Fixwerte lesen.
2) Bei der Zahlungsprüfung vergleiche ich die Referenznummer in Tabelle Adressen mit der Verknüpfung Konto (CSV Datei). Als Ergebnis muss ich einen Indikator in der Tabelle Adressen setzen.

Punkt 1 lässt sich glaube ich nur mit VBA lösen. Frage: wie lese ich in VBA einen Wert aus einer anderen Tabelle aus?
Punkt 2 kann mir da einen Query vorstellen. Wie kann ich das Ergebnis des Query in die Tabelle Adressen zurückschreiben?
robi1a ist offline   Mit Zitat antworten
Alt 27.02.2003, 23:47   #9
Seidl
Veteran
 
Registriert seit: 10.01.2001
Beiträge: 478


Standard

Punkt 1:
dim conCSV as New ADODB.Connection
dim rstCSV as New ADODB.Recordset
conCSV.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\; Extended Properties=""text;HDR=Yes;FMT=Delimited"""
rstCSV.Open "SELECT * FROM test.csv", conCSV, adOpenStatic, adLockReadOnly, adCmdText

Du solltest dich besser früher als später mit Searchengines und der MSDN-Library anfreunden. Anderenfalls wirst du wahrscheinlich sehr bald ernstliche Probleme kriegen. Das obige Beispiel ist z.B. fast 1 zu 1 im Web zu finden. (gefunden mit 2 Versuchen auf www.alltheweb.com)

[siehe auch: http://support.microsoft.com/default...;en-us;q262537]


Punkt 2:
Mir ist offen gesagt nicht ganz klar was du meinst. Für mich hört es sich aber in etwa nach folgendem an:

conWosWasI.Execute "UPDATE tblZuÄndern SET Feld = Wert WHERE unterabfrage"
Seidl ist offline   Mit Zitat antworten
Alt 03.03.2003, 12:32   #10
Al_Bundy99
Veteran
 
Registriert seit: 25.05.2000
Beiträge: 215

Mein Computer

Standard Lösungsversuch

Besuche einmal diese Seite dort stehen enorm gute Tips für Access

www.donkarl.com

Gruß
Al Bundy99
Al_Bundy99 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:09 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag