MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 15.09.2004, 16:30   #16
$davwal1982$
Threadstarter Threadstarter
MOF User
MOF User
Standard

Entspann dich erst einmal und trink einen Kaffee...
$davwal1982$ ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 16:51   #17
$davwal1982$
Threadstarter Threadstarter
MOF User
MOF User
Standard

Übrigens noch was zu meinem ursprünglichen als ersten Thread genannten Problem:

Habe jetzt folgendes realisiert:

Eine Messagebox mit Ja/Nein überprüft, ob der User tatsächlich die aktuelle Bestellnummer versenden will.
Einfache if- Anweisung.

Er kopiert mir die Datensätze aus den 2 Originaltabellen mit Referenz auf eine angezeigte Bestellnummer im aktuellen Formular in eine angelegte Exporttabelle.
Dazu rufe ich einfach eine angelegte Anfügeabfrage in VBA auf.

Im nächsten Schritt exportiert er die Datensätze in der Tabelle auf die Festplatte.
Dies geschieht mit TransferText und einer festgelegten Exportspezifikation.
Kleine Hürde: Der Dateiname : Der soll den Namen der Bestellnummer und das aktuelle Datum enthalten.

Also habe ich eine Variable defniert, die sich die aktuell angezeigte Bestellnummer aus dem Formular liest und anhand dessen ist schon mal die Bestellnummer in einer Variable hinterlegt.
Das aktuelle Datum rufe ich dann einfach über eine Formatfunktion auf, damit umgehe ich auch das Problem tt.mm.jjjj!
Das Datum habe ich ebenfalls in eine Variable gespeichert.
Nun noch eine weitere Variable, die den Pfad deklariert und die beiden Namen
Bestellnummer und Datum und anschließend
über Transfertext als Dateinamen einfach die Pfadvariable abruft.

Das war der erste Streich.

Nun soll diese auf dem Datenträger gespeicherte Datei aber versendet und dann automatisch gelöscht werden.

Also habe ich einen Verweis auf eine Outlookbibliothek angelegt, dann über eine neue Outlookinstanz und ein Mailitem
meine email deklariert.
Hier kann ich auch ein Attachement definieren.
Problem: Wie kann ich Access per VBA anweisen, genau diese Datei mit dem zusammengesetzten Dateinamen zu nehmen und nicht irgend eine andere?

Lösung: Ich schau einfach per DLookup in die entsprechende Exporttabelle herein
und hab damit schon mal meine Bestellnummer.
Die emailadresse und den body lese ich mit dieser Variante auch aus einer Tabelle heraus. Vorteil: Ich kann die email in einem Form angeben!
Mittels Attachments.Add "C:\" & Bestnr & "_WTU" & datum & ".txt"
kann ich dann einfach genau die email auswählen,
die jetzt auf dem Datenträger liegt.
Anschließend wird über die Anweisung display das Outlook- Fenster erzeugt und ich kann manuell meine email versenden.
Kurz nach dem Versand lösche ich die Datei einfach per kill- Befehl:
Kill "C:\" & Bestnr & "_WTU" & datum & ".txt"
Die Prozedur Versand liegt in einem Modul, dieses Modul rufe ich bei meinem zuerst erwähnten Exportvorgang auf.

D.h. er öffnet mein Outlook-Fenster, ich versende die email, er geht automatisch wieder zu meinem Ausgangsformular zurück.
Im Hintergrund hat er noch die Daten aus der Exporttabelle gelöscht, denn diese Daten sind nur temporär und sie in eine Archivtabelle, zwecks erneutem Versand eingefügt.
Dies alles geschieht über Abfragen, die ich in VBA aufrufe.


Ich hoffe es sind ein paar Anregungen dabei!
$davwal1982$ ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 16:58   #18
johho
MOF Koryphäe
MOF Koryphäe
Standard

also ich bin relativ entspannt.

ich habe jetzt noch 2 probleme zu lösen:

1. wie/mit welchen änderungen am codebeispiel oben kann ich die .txt datei in eine andere db per VBA importieren?

2. wie kann ich beim drücken des exportieren buttons und ausführen des exportieren codes den Wert im Feld "status_sync" von 1 auf 0 setzen, damit die daten beim nächsten sync nicht mehr mitübertragen werden?

wäre wirklich super, wenn mir hier noch einmal jemand helfen könnte..
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 18:23   #19
jmc
MOF Guru
MOF Guru
Standard

Hi zusammen
jetzt bekommen wir ein Problem ... wir haben zwar einen Thread, der grundsätzlich dasselbe Problem behandelt, aber eben in 2 unterschiedlichen Kontexten

Und prompt haben nun beide noch offene Fragen ... ich glaube, man kann jetzt mit der neuen Forums-Software den Thread "aufgabeln", werd das mal versuchen ...

__________________

Jean (jmc) - mit einem Gruss aus Basel - meine Homepage: www.s-e-m.ch

ich arbeite mit: A97, Office2K, OfficeXP, Office2003, Office2010, Office2013 und SQL Server 2014 (als Backend)
jmc ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 18:26   #20
jmc
MOF Guru
MOF Guru
Standard

Zitat: von johho

also ich bin relativ entspannt.

ich habe jetzt noch 2 probleme zu lösen:

1. wie/mit welchen änderungen am codebeispiel oben kann ich die .txt datei in eine andere db per VBA importieren?

2. wie kann ich beim drücken des exportieren buttons und ausführen des exportieren codes den Wert im Feld "status_sync" von 1 auf 0 setzen, damit die daten beim nächsten sync nicht mehr mitübertragen werden?

wäre wirklich super, wenn mir hier noch einmal jemand helfen könnte..

zu 1) ein der anderen MDB einfach
DoCmd.TransferText acImportDelim, .....

zu 2) du musst dir nun eben noch eine Aktualisierungs-Abfrage basteln, welche als Kriterium "status_sync" = 1 hat und dasselbe Feld dann aktualisieren mit 0, nenne diese z.b. "qryUpdateStatus"
die startest du gleich hinter dem
DoCmd.TransferText acExportDelim, .....
mit
DoCmd.OpenQuery "qryUpdateStatus"

__________________

Jean (jmc) - mit einem Gruss aus Basel - meine Homepage: www.s-e-m.ch

ich arbeite mit: A97, Office2K, OfficeXP, Office2003, Office2010, Office2013 und SQL Server 2014 (als Backend)
jmc ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 18:36   #21
jmc
MOF Guru
MOF Guru
Standard

Zitat: von $davwal1982$

Übrigens noch was zu meinem ursprünglichen als ersten Thread genannten Problem:

Habe jetzt folgendes realisiert: ......

Das ist ja lediglich Erklärung, was du nun gemacht hast und funktioniert !

Das war der erste Streich.

Nun soll diese auf dem Datenträger gespeicherte Datei aber versendet und dann automatisch gelöscht werden.

Das ist nun genau das, was du schon in deiner ersten Frage gemacht hast:
ZWEI THEMEN !

Also:
Bitte sei so nett und beachte die Netiquette. Schreib das in einen neuen Thread, denn das hat mit dem Export nichts mehr zu tun !

__________________

Jean (jmc) - mit einem Gruss aus Basel - meine Homepage: www.s-e-m.ch

ich arbeite mit: A97, Office2K, OfficeXP, Office2003, Office2010, Office2013 und SQL Server 2014 (als Backend)
jmc ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 18:36   #22
johho
MOF Koryphäe
MOF Koryphäe
Standard

DoCmd.TransferText acImportDelim, .....
darüber finde ich in der olh nichts, wie geht das nach .... weiter? einfach die datei?
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.09.2004, 18:42   #23
Paul.Ostermeier
MOF Koryphäe
MOF Koryphäe
Standard

@Johho
Dein OH scheint kaputt zu sein :-)

++++++++++++++++++++++++++++++++++++++++++++

TransferText-Methode


Die TransferText-Methode führt die Aktion TransferText in Visual Basic aus. Weitere Informationen zu dieser Aktion und ihren Argumenten finden Sie unter dem Thema zur jeweiligen Aktion.

Syntax

DoCmd.TransferText [Transfertyp][, Spezifikationsname], Tabellenname, Dateiname[, Besitzt Feldnamen][, HTML-Tabellenname][, Codepage]

Die TransferText-Methode verwendet die folgenden Argumente:

Argument Beschreibung
Transfertyp Eine der folgenden eingebauten Konstanten:
acExportDelim
acExportFixed
acExportHTML
acExportMerge
acImportDelim (Voreinstellung)
acImportFixed
acImportHTML
acLinkDelim
acLinkFixed
acLinkHTML
Wenn Sie dieses Argument nicht angeben, wird der Standardwert (acImportDelim) verwendet.
Anmerkungen Sie können Verknüpfungen zu Daten in einer Textdatei oder HTML-Datei herstellen, jedoch sind diese Daten in Microsoft Access schreibgeschützt.
Nur die Transfertypen acImportDelim, acImportFixed, acExportDelim, acExportFixed oder acExportMerge werden von einem Microsoft Access-Projekt (.adp). unterstützt

Spezifikationsname Ein Zeichenfolgenausdruck, der den Namen einer Import- oder Exportspezifikation angibt, die Sie in der aktuellen Datenbank erstellt und gespeichert haben.
Bei einer Textdatei mit fester Zeilenlänge müssen Sie entweder ein Argument angeben oder eine Schemadatei (Schema.ini) verwenden, die in demselben Ordner wie die importierte, verknüpfte oder exportierte Textdatei gespeichert sein muss. Zur Erstellung einer Schemadatei können Sie den Import/Export-Assistenten für Text verwenden. Bei Textdateien mit Trennzeichen und Microsoft Word-Serienbriefdateien können Sie dieses Argument weglassen, um so die Standardeinstellungen für das Importieren und Exportieren auszuwählen.
Tabellenname Ein Zeichenfolgenausdruck, der den Namen einer Microsoft Access-Tabelle zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Textdaten angibt, oder die Microsoft Access-Auswahlabfrage, deren Ergebnisse in eine Textdatei exportiert werden sollen.
Dateiname Ein Zeichenfolgenausdruck, der den vollständigen Namen und den Pfad der Textdatei angibt, die zum Importieren, Exportieren oder Einbinden (Verknüpfen) von Daten verwendet werden soll.
Besitzt Feldnamen Verwenden Sie True (-1), um die erste Zeile der Kalkulationstabelle beim Importieren, Exportieren oder Einbinden (Verknüpfen) als Feldnamen zu verwenden. Verwenden Sie False (0), wenn die erste Zeile als normale Datenzeile gelten soll. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet.
Dieses Argument wird bei Word für Windows-Serienbriefdateien ignoriert, da diese in der ersten Zeile immer Feldnamen enthalten müssen.
HTML-Tabellenname Ein Zeichenfolgenausdruck, der den Namen der Tabelle oder Liste in der HTML-Datei angibt, die Sie importieren oder einbinden (verknüpfen) möchten. Dieses Argument wird nur dann beachtet, wenn das Argument Transfertyp auf acImportHTML oder acLinkHTML eingestellt ist. Wenn Sie dieses Argument weglassen, wird die erste Tabelle oder Liste in der HTML-Datei importiert oder verknüpft.
Der Tabellen- oder Listenname in der HTML-Datei wird durch den in der Marke <CAPTION> angegebenen Text bestimmt, falls dieser vorhanden ist. Andernfalls wird der Name durch den Text bestimmt, der in der Marke <TITLE> angegeben ist. Wenn mehrere Tabellen oder Listen denselben Namen besitzen, unterscheidet sie Microsoft Access durch Anhängen einer Zahl an den Tabellen- oder Listennamen, wie z.B. Personal1 und Personal2.
Codepage Ein Wert des Typs Long, der den Zeichensatz der Codepage angibt.


Anmerkung

Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.

Anmerkung Sie können auch ActiveX-Datenobjekte (ADO-Objekte) verwenden, um eine Verknüpfung zu erstellen. Dies lässt sich mit Hilfe der ActiveConnection-Eigenschaft des Recordset-Objekts durchführen.

MfG
Paul


AD: Beim Zitieren bitte aufpassen, falls vermeintliche HTML-Tags (z.B. <CAPTION> und <TITLE>) vorhanden sind, kann das Forenlayout beim Betrachten des Beitrages merkwürdig verändert werden. Problem wurde bereits behoben.

Geändert von Arne Dieckmann (15.09.2004 um 18:53 Uhr).
Paul.Ostermeier ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.09.2004, 10:18   #24
johho
MOF Koryphäe
MOF Koryphäe
Standard

EDIT:

Ok, habs mit dem output jetzt hinbekommen:

Code:

DoCmd.TransferText acExportDelim, , _
    "qur_mandanten_neu", "C:\mainframeexport.txt"
erstellt mir jetzt wunderbar die textdatei..

Jetzt geht es ans importieren, hier habe ich folgendes versucht:
Code:

DoCmd.TransferText acimportDelim, , _
    "mandanten", "C:\mainframeexport.txt"
hier kommt eine Fehlermeldung:

"Das Feld F1 gibt es in der Tabelle Mandanten nicht"

kann jemand damit was anfangen??

gruß
jojo

Geändert von johho (16.09.2004 um 11:43 Uhr).
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.09.2004, 12:36   #25
johho
MOF Koryphäe
MOF Koryphäe
Standard

ok. konnte das Problem jetzt lösen, geholfen hat mir der Artikel:
http://support.microsoft.com/default...%3Bde%3BD40197

jetzt kommt aber eine andere Fehlermeldung:

"Überlauf bei numerischem Feld"

EDIT: den Fehler habe ich auch behoben.. Das Datm war in der Textdatei anders geschrieben als in der Tabelle (JMT anstatt TMJ)

so.. jetzt probiere ich mal weiter

Geändert von johho (16.09.2004 um 12:43 Uhr).
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.09.2004, 12:58   #26
jmc
MOF Guru
MOF Guru
Standard

Hi

Beide Meldungen deuten darauf hin, dass die Ursprungs- und die Zieltabelle eben doch nicht identisch sind ... oder du beim Export etwas "falsch" gemacht hast.

Zitat:

"Überlauf bei numerischem Feld"
EDIT: den Fehler habe ich auch behoben.. Das Datm war in der Textdatei ...

Dies interpretiere ich so, dass du das "Datumsfeld" nicht als Typ Datum/Zeit, sondern als Zahl definiert hast - wäre ein grober Fehler ....

__________________

Jean (jmc) - mit einem Gruss aus Basel - meine Homepage: www.s-e-m.ch

ich arbeite mit: A97, Office2K, OfficeXP, Office2003, Office2010, Office2013 und SQL Server 2014 (als Backend)
jmc ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.09.2004, 21:22   #27
johho
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von jmc

Hi

Beide Meldungen deuten darauf hin, dass die Ursprungs- und die Zieltabelle eben doch nicht identisch sind ... oder du beim Export etwas "falsch" gemacht hast.
Dies interpretiere ich so, dass du das "Datumsfeld" nicht als Typ Datum/Zeit, sondern als Zahl definiert hast - wäre ein grober Fehler ....

nein, das interpretierst du falsch. Das Datum stand nur in der falschen Form in der textdatei, nämlich so: 09-15-2004
also musste ich in den spezifikationen bei access noch einstellen Trennzeichen - anstatt . und format MTJ.
Dann gings..

funtzt jetzt soweit ich das sehen kann mit ex- und import einwandfrei
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.09.2004, 10:46   #28
johho
MOF Koryphäe
MOF Koryphäe
Standard

SO. soweit so gut, funtzt alles in etwa so wie ich mir das vorstelle. Vielen Dank schon einmal an alle Helfer!

Jetzt habe ich noch eine frage zur transfertext funktion:

ich habe als Datei jetzt "c:\test.txt" angegeben. Funtzt auch einwandfrei.
Was muss ich eingeben, damit access die datei automatisch in dem verzeichniss speichert, in dem auch die .mdb datei liegt?

EDIT: achja und noch eine kleine frage, ich führe nach dem export mit
"DoCmd.OpenQuery "qur_mandanten_neu_reset"
eine aktualisierungsabfrage durch, die den update status wieder auf 0 setzt. Das was mich stört ist das beim ausführen des codes noch einmal 2 sicherheitsabfragen kommen. WIe kann ich die abfrage aus vba ausführen, ohne das man nochmals bestätigen muss?

Geändert von johho (17.09.2004 um 10:50 Uhr).
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.09.2004, 15:46   #29
johho
MOF Koryphäe
MOF Koryphäe
Standard

...
teil 1 der Frage habe ich mittlerweile mir selbst beantwortet
Code:

etdbpath = CurrentProject.Path & "\import-export\Mainframe_termine.txt"
DoCmd.TransferText acExportDelim, , _
     "qur_termine_neu", getdbpath, 0
lieferte das gewünschte ergebnis.

wenn noch jemand einen tipp für den nachtrag zur frage hat, wie ich die bestätigungsabfrage vermeiden kann, dann wäre ich sehr dankbar.

Gruß Johannes
johho ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.09.2004, 20:01   #30
jmc
MOF Guru
MOF Guru
Standard

Hi Johannes

wir haben da langsam einen schönen Mix aus Fragen mit unterschiedlichen Themen, wenn auch für dich alle im selben Kontext.
Bitte beachte AUCH DU die Netiquette (siehe meinen Beitrag #2) und stelle für andere Themen in einem separaten Beitrag die Frage !

Aber da die "Nachtragsfrage" relativ einfach zu beantworten ist, machen wir mal ne Ausnahme:
DoCmd.SetWarnings False
DoCmd.OpenQuery ....
DoCmd.SetWarnings True

wichtig ist, dass du die SetWarnings wieder auf True stellst, sonst bekommst du überhaupt keine Fragen mehr, auch dort wo es nötig ist! Für Details siehe OL-Hilfe und falls du wider Erwarten damit nicht klarkommst: separater Beitrag ...

__________________

Jean (jmc) - mit einem Gruss aus Basel - meine Homepage: www.s-e-m.ch

ich arbeite mit: A97, Office2K, OfficeXP, Office2003, Office2010, Office2013 und SQL Server 2014 (als Backend)
jmc ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

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 anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.