🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych.msaccess
Article #137327

Re: export kwerendy do pliku csv

#137327
From: MaciejF
Date: Tue, 29 Nov 2016 18:05
82 lines
5460 bytes
W dniu wtorek, 29 listopada 2016 18:30:01 UTC+1 użytkownik Jan Koc napisał:
> A jak Pan wykona taką operację (txt na csv), to proszę sprawdzić jak u Pana zachowa się Excel, gdy poleci mu Pan "zapisz jako csv". U mnie informuje o utracie formuł. Może mam źle ustanowione jakieś właściwości exelowskie..
> Jan

Może konwersja musi być jawna a nie tylko przez zmianę rozszerzenia.

Wygrzebałem gdzieś jeszcze to:
1. Zapisz w Module swojego Accessa taką funkcję:

Sub txt2csv()
    Dim fnam As String
    Dim spath As String
    Dim ftxt As String
    Dim wb As Workbook
    Dim cel As Range
    Dim txts As String
    spath = "X:\"
    fnam = Dir(spath & "*.txt")
    Do While fnam <> ""
        Open spath & fnam For Input As #1
        ftxt = Input(LOF(1), 1)
        Close 1
        ftxt = Replace(ftxt, "|", ",")
        Open spath & Replace(UCase(fnam), ".TXT", ".csv") For Output As #1
        Print #1, ftxt
        Close 1
        Set wb = Workbooks.Open(spath & Replace(UCase(fnam), ".TXT", ".csv"))
        For Each cel In wb.Sheets(1).Range("A2:A" & wb.Sheets(1).Range("A2").End(xlDown).Row)
        txts = Right("0" & cel, 8)
        cel = CVDate(Left(txts, 2) & "/" & Mid(txts, 3, 2) & "/" & Right(txts, 4))
        Next cel
        wb.Close True
        fnam = Dir
    Loop
End Sub

xxxxxxxxx

2. zmodyfikowany kod pod przyciskiem:
 Dim db As DAO.Database, qd As DAO.QueryDef 
    Dim fd As FileDialog 
    Dim exportSQL As String 
    Dim i As Integer 
    
    Set fd = Application.FileDialog(msoFileDialogSaveAs) 

    Set db = CurrentDb 
exportSQL = "SELECT FIRMA.Nazwa AS S_Name, FIRMA.Ulica AS S_Address, FIRMA.Kod AS S_Zip, FIRMA.Miasto AS S_City, FIRMA.telefon AS S_Phone, FIRMA.e_mail AS S_Email, 'Grzegorz Kociumbas' AS S_Contact_Person, [Export DPD2].P_Cat_KP, [Export DPD2].P_Cat_5, [Export DPD2].P_Cat_10, [Export DPD2].P_Cat_20, [Export DPD2].P_Cat_30, [Export DPD2].P_Cat_50, [Export DPD2].R_Name, [Export DPD2].R_Address, [Export DPD2].R_Zip, [Export DPD2].R_City, [Export DPD2].R_Phone, [Export DPD2].R_Email, [Export DPD2].R_Contact_Person, [Export DPD2].P_Courier_Name, [Export DPD2].P_Comment, [Export DPD2].P_Content, [Export DPD2].A_Terminal, [Export DPD2].P_Cod, [Export DPD2].Time FROM FIRMA, [Export DPD2] WHERE ((([Export DPD2].Wydrukowane)=2));" 
  'Check to see if querydef exists 
    For i = 0 To (db.QueryDefs.Count - 1) 
        If db.QueryDefs(i).Name = "tmpExport" Then 
            db.QueryDefs.Delete ("tmpExport") 
            Exit For 
    End If 
    Next i 

    Set qd = db.CreateQueryDef("tmpExport", exportSQL) 

    'Set intial filename 
    fd.InitialFileName = "X:\export_" & Format(Date, "yyyymmdd") & ".txt" 

    If fd.show = True Then 
        If Format(fd.SelectedItems(1)) <> vbNullString Then 
            DoCmd.TransferText acExportDelim, "Export Specyfikacja eksportu", "tmpExport", fd.SelectedItems(1), True, , 852 
        End If 
    End If 

    'Cleanup 
    db.QueryDefs.Delete "tmpExport" 
    db.Close 
    Set db = Nothing 
    Set qd = Nothing 
    Set fd = Nothing 

' jawnie konwertowane txt na csv
Call txt2csv

End Sub


Proszę spróbować jeszcze to.
MF
Technical Details
Message-ID: <3dedb5cf-3118-40e7-aa67-fae3c319d006@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!n6no3017875qtd.0!news-out.google.com!j8ni12122qtc.0!nntp.google.com!n6no3017874qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <39d994b6-e28e-4fc2-a084-f06f776fd643@googlegroups.com> <1e537968-eeb9-4b13-b50b-b20a65c94981@googlegroups.com> <5adc9bd5-02aa-431a-9da5-4436331981d0@googlegroups.com> <e2bcce68-05b7-4f32-a98d-c29be8945003@googlegroups.com> <f0871dfd-9ee2-43a6-a20a-0c3c8c7b7c9e@googlegroups.com> <efb3385e-a83b-417d-ad7c-0ecf45246ed5@googlegroups.com> <23f5c5ff-a594-4fb9-8eb3-477cd7eebce0@googlegroups.com> <499a75f3-cb1d-45d9-b7e2-40edd8cf771f@googlegroups.com> <cfdcc8ae-3636-45a6-8e98-354ced6c90c0@googlegroups.com> <042100af-c425-4d32-a758-960f0de71417@googlegroups.com> <a6f43a6d-e9e3-47b6-843e-bb7903bbcdcb@googlegroups.com> <f9cd55f6-4b7b-4c72-82eb-4ddea936f4ed@googlegroups.com> <31f73f11-c349-4c21-abae-26b43a8882b7@googlegroups.com> <a64dbffe-2a58-4aab-8c40-f8b48c875bea@googlegroups.com> <a5ca3ae5-6d98-4c89-b3bf-0e8d06822c76@googlegroups.com> <5a5dd01d-5135-413e-b24a-f4430d7eef4a@googlegroups.com> <938c0682-bd58-46ae-b5cf-62127e958a5c@googlegroups.com> <aec03b3b-f433-47a1-ac61-ca4ffd7afa60@googlegroups.com> <3640a2e3-3162-4347-820a-489a7f87d7b8@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.129.99.9 with SMTP id x9mr6792475ywb.151.1480442700572;        Tue, 29 Nov 2016 10:05:00 -0800 (PST)
X-Received: by 10.157.40.215 with SMTP id s81mr1227173ota.7.1480442700530; Tue, 29 Nov 2016 10:05:00 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!n6no3017875qtd.0!news-out.google.com!j8ni12122qtc.0!nntp.google.com!n6no3017874qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych.msaccess
Date: Tue, 29 Nov 2016 10:05:00 -0800 (PST)
In-Reply-To: <3640a2e3-3162-4347-820a-489a7f87d7b8@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.121.39; posting-account=kc7ZIQoAAAB5PkdJgxjq1dd8jnBK4MVp
NNTP-Posting-Host: 178.36.121.39
References: <39d994b6-e28e-4fc2-a084-f06f776fd643@googlegroups.com> <1e537968-eeb9-4b13-b50b-b20a65c94981@googlegroups.com> <5adc9bd5-02aa-431a-9da5-4436331981d0@googlegroups.com> <e2bcce68-05b7-4f32-a98d-c29be8945003@googlegroups.com> <f0871dfd-9ee2-43a6-a20a-0c3c8c7b7c9e@googlegroups.com> <efb3385e-a83b-417d-ad7c-0ecf45246ed5@googlegroups.com> <23f5c5ff-a594-4fb9-8eb3-477cd7eebce0@googlegroups.com> <499a75f3-cb1d-45d9-b7e2-40edd8cf771f@googlegroups.com> <cfdcc8ae-3636-45a6-8e98-354ced6c90c0@googlegroups.com> <042100af-c425-4d32-a758-960f0de71417@googlegroups.com> <a6f43a6d-e9e3-47b6-843e-bb7903bbcdcb@googlegroups.com> <f9cd55f6-4b7b-4c72-82eb-4ddea936f4ed@googlegroups.com> <31f73f11-c349-4c21-abae-26b43a8882b7@googlegroups.com> <a64dbffe-2a58-4aab-8c40-f8b48c875bea@googlegroups.com> <a5ca3ae5-6d98-4c89-b3bf-0e8d06822c76@googlegroups.com> <5a5dd01d-5135-413e-b24a-f4430d7eef4a@googlegroups.com> <938c0682-bd58-46ae-b5cf-62127e958a5c@googlegroups.com> <aec03b3b-f433-47a1-ac61-ca4ffd7afa60@googlegroups.com> <3640a2e3-3162-4347-820a-489a7f87d7b8@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3dedb5cf-3118-40e7-aa67-fae3c319d006@googlegroups.com>
Subject: Re: export kwerendy do pliku csv
From: MaciejF <maciejfr@onet.pl>
Injection-Date: Tue, 29 Nov 2016 18:05:00 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit