vreemde data in export

Status
Niet open voor verdere reacties.

rbouwman

Gebruiker
Lid geworden
8 sep 2000
Berichten
42
ik maak gebruik van de volgende button;
Code:
Private Sub cmdExportStudyData_Click()
On Error GoTo Err_cmdExportStudyData_Click

    Dim strStudy, strFileName, strExportFile, strDoc As String
    
    strDoc = "qrylesrooster"
    strStudy = cmbStudies
    
    strFileName = "\test.txt"
    
    strExportFile = CurrentProject.Path & "\Export\" & strFileName

    If IsNull(cmbStudies) Then
        MsgBox "Please select a study first"
    Else

    DoCmd.TransferText acExportDelim, , strDoc, strExportFile, False

    MsgBox ("Your data file is saved as: " & Chr(13) & strFileName & Chr(13) & Chr(13) & "Here: " & Chr(13) & strExportFile)

    End If

Exit_cmdExportStudyData_Click:
    Exit Sub

Err_cmdExportStudyData_Click:
    Msg = "Error # " & Str(Err.Number) & Chr(13) & Err.Description
    MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
    Resume Exit_cmdExportStudyData_Click

End Sub
wanneer ik een export maak dan staat in de tijd ook een vreemde datum;

"CNNFN2FB1A";1;30-12-1899 9:15:00;30-12-1899 8:30:00;"KW315";"BOUW";"IA";16-2-2011 0:00:00

30-12-1899 9:15:00 moet dus 9:15 uur worden, daarnaast zou ik ook graag de tijdsaanduiding in de datum weg willen hebben;

16-2-2011 0:00:00 moet dus 16-2-2011 worden.

bij voorbaat dank
 
Laatst bewerkt door een moderator:
Je exporteert een Datum/Tijd veld naar een tekstbestand. Elk datum/tijdveld heeft een datumdeel een een tijddeel. Het datumdeel is het getal vóór de komma, de tijd is het deel achter de komma. Een (al dan niet zelf ingevoerde of berekende) tijd staat dus als een getal in de datase: 0,509027778 bijvoorbeeld zie jij als 12:13 terug op het scherm. Aangezien bij exporteren de volledige veldwaarde wordt omgezet, wordt het getal 0 vertaald naar de datum 31-12-1899. En dat gebeurt, omdat Excel het getal 1 als 1-1-1900 beschouwt. Ik vermoed dan ook dat je ook nog een berekening hebt gemaakt om de tijd te berekenen, die de datum nog een dag verder terugzet. Iets vergelijkbaars is er aan de hand met je datumveld; dat is in werk 40590elijkheid het getal 40590,0. Hierbij wordt het getal 40590 als datum vertaald en het getal 0 als tijd.

Om je tekstexport dus goed te krijgen, moet je de datum- en tijdvelden omzetten naar tekst, en niet als datum/tijd behandelen. Zet er in de query eens Cstr([berekend veld etc]) omheen, en kijk dan eens of het nog steeds fout gaat.
 
het werkt

bedankt voor de snelle service, het werkt. ik heb nog wel een aanvullende vraag. ik zou graag de naam van het bestand dat ik op sla willen aanpassen.
in het formulier dat ik gebruik staat een waarde die ik zou willen gebruiken als bestandsnaam. dit veld staat op een formulier onder: [forms]![frmroosternaarcursist]![groep]
kan je me aangeven hoe ik dit aangeef in:
strFileName = "\test.txt"

mvg

Rob
 
StrFileName=Me.groep.Value & ".txt" zou ik zeggen...
 
simpel

ik wou dat alles zo simpel zou zijn, alweer bedankt ik schaam me voor de vraag. ik ga dit bestand gebruiken om een rooster te importeren in outlook. De output die ik krijg ziet er alsvolgt uit;
"IA KW315";"15-2-2011";"8:30:00";"15-2-2011";"9:15:00"
wanneer ik deze importeer in outlook staan alle gegevens op 1 rij, wanneer ik het bestand aanpas in
IA KW315,15-2-2011,8:30:00,15-2-2011,9:15:00
kan ik het wel importeren, kan ik in access ook een export maken zoals in het voorbeeld hierboven?

alweer hartelijk bedankt
 
Voor een vraag hoef je je uiteraard nooit te schamen; hooguit voor de antwoorden;)
In Outlook kun je volgens mij ook nog wel aangeven hoe je de gegevens importeert, dus je hoeft dan de export niet aan te passen. Maar als je dat wilt doen vanuit Access, kun je het beste een Import/Export definitie maken. Hierin geef je aan hoe je de gegevens wilt exporteren. In het Export commando gebruik je dan de importdefinitie als parameter.
 
klopt, ik ben bezig met een exportdefinitie.
DoCmd.TransferText acExportDelim, export, strDoc, strExportFile, HasFieldnames = False

De exportdefinitie heb ik export genoemd, het probleem is dat ik mijn query met de parameter: [Forms]![frmRoosterNaarCursist]![groep]

ik kan dan normaal gesporken geen export draaien, dus ook de exportdefinitie opgeven.
ik heb de parameter in de query al een keer verwijderd en toen de exportdefinitie gemaakt en vervolgens de paramater er weer ingezet. dat werkt niet.
in outlook kan je inderdaad de import aangegeven alleen als er een ; als scheidingsteken gebriukt wordt loopt de import niet goed.
de hele regel wordt dan als 1 veld gezien.
zo langzamerhand kom ik wel steeds een stapje verder.

alvast bedankt voor de hulp.
 
Ik zou in jouw geval de sql opbouwen via sql onder de knop. En dus geen opgeslagen query gebruiken. Kopieer de SQL code van de query, wijs die toe aan een variabele (strSQL bijvoorbeeld) en pas 'm aan, want hij moet uiteraard de Groep waarde op de juiste manier in de code zetten. Vervolgens kun je ofwel de sqlstring toewijzen aan een query, zodat je een 'harde' filtering hebt, ofwel de querystring exporteren.
 
mijn probleem is opgelost, je moet de export definitie tussen aanhalingstekens zetten, nu krijg ik de juiste export naar het bestand.
Dus ook weer opgelojst.
weet jij of je in een formulier dat ik gebruik om te mailen naar een groep mogelijk is het behorende bestand automatisch bi te plaatsen?

alvast weer bedankt
 
Dat kan wel, maar ik zou dat doen via een tijdelijke tabel; een query wil nog wel eens zijn filtering kwijtraken, waardoor je dan een hele tabel meestuurt. Als het om het exportbestandje gaat: da's een stuk simpeler, want die heb je net gemaakt. Dus dan hoef je alleen de padnaam en bestandsnaam mee te geven, of in een stringvariabele te zetten.
 
bedankt, ik heb het simpel opgelost door in het mailformulier bij mail attachment het volgende te zetten
Mail_Attachment_Path: "p:\export\" & [tblCursisten.group] & ".csv"


weet jij of je ook een export in access kan maken naar een ics-bestand?

alvast weer bedankt
 
Ik heb geen idee wat een ICS bestand is; het lijkt een programma-eigen extensie te zijn, en dan kun je het denk ik wel vergeten. Als het een extensienaam is voor een csv of tekstbestand, dan is het een kwestie van de naam aanpassen.
 
een ics bestand is een iCalender bastand, hiermee kan je een hele agenda in outlook importeren.
 
Maar is het een tekstbestand o.i.d.?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan