2017-01-31 7 views
0

私は、Excelデータを再フォーマットするシンプルなデータベースを実行しており、会計ソフトウェアにインポートするために.csvファイルに出力しています。クエリに少し微調整が加えられ、.csvファイルにデータフォーマットが使用できなくなりました。単純なテキストではなく、ある種のコードのようです。私は単にこれを変えようとしていることが分かりません。アクセスデータベース - .CSVにエクスポートするテキストの代わりにコードを出力する

Private Sub COGenerate_Click() 
DoCmd.TransferText acExportDelim, _ 
TableName:="07 CO Material Output Format", FileName:="G:\pathname\File.CSV" 
End Sub 

これは参照クエリのSQL形式である:

Iは、メインフォーム上のこのVBAストリング使用

SELECT [Forms]![Main]![JobNumber] AS Job, [Forms]![Main]![CONumber] AS COName, Left([F10],2) AS CCLetter, Mid([F10],3,5) AS CCNumber, "" AS [Empty 1], "" AS [Empty 2], [Forms]![Main]![COName] AS CODescrip, [Cost Elements].[Type Code], "" AS [Empty 3], "" AS [Empty 4], "1" AS One, "" AS [Empty 5], IIf([F10]='CM01701' Or [F10]='CM01702' Or [F10]='CM01703' Or [F10]='dm00100' Or [F10]='dm00101' Or [F10]='dm00102',[sum of MatUnit],1) AS Units, [02 Material Pivot].[Per Unit Cost], [Units]*[Per Unit Cost] AS Total 
FROM [02 Material Pivot] INNER JOIN [Cost Elements] ON [02 Material Pivot].F10 = [Cost Elements].[Cost Code]; 

出力では、以前にすることなく、出力フォーム入力ボックス問題は次のようになります。

ボックス内の "ABC"は.csvの "41 00 42 00 43 00"と表示されます。ただし、Accessでは、クエリが適切に見えます。

ご協力いただきましてありがとうございます。

ありがとうございます!

+0

あなたはCSVファイルを見るためにどのようなプログラムを使用していますか?明確にするために、あなたが見ているのは、Unicode文字(おそらくUTF-16)としてのテキストの16進表現です。 VBAはネイティブでUTF-8を私が知っている限り使用しているので、私はそれが奇妙だと思っていますが、おそらく設定があります。最初に決定するのは、ビューイングソフトウェアに問題があるのか​​、エクスポート自体に問題があるのか​​ということです。 – Blackhawk

+0

私は通常、Excelを使用してCSVファイルを表示します。ただし、通常はこの特定のファイルを開くことはありません。インポートプロセスを実行し、インポート確認画面を確認します。これが最初にUnicode文字に気づいたところです。メモ帳で開くときにUnicodeがまだ存在することを確認しました。 –

+0

この関連する質問/回答を参照してください:http:// stackoverflow。com/questions/3344668/microsoft-access-transfertext-function-problem-with-codepage – Blackhawk

答えて

0

だから、データベース全体を一から再作成したので、何か奇妙な形式のものがあると思っていました。しかし、私はまだエクスポートでUnicodeデータを取得していました。私は使用している同様のデータベースに行き、同様のエクスポートプロセスを試しました。これは問題なく動作しました。

2の主な違いは、通常のクエリではなくユニオンクエリからのエクスポートを試みているようです。 SQLコードは同じですが、組合は機能しました。これを新しいデータベースで動作させるために、同じSQLコードを2回使用する冗長ユニオンクエリを作成しました。出力が1つだけだった場合と同じ結果になり、エクスポートが正常に機能しました。

非常に奇妙な、非常にイライラしていますが、今は動作しています!

1

私はコードを実行しましたが、私は何の問題も見ませんでした。私のデータが正常にエクスポートされたので、テーブルにデータがあるはずです。 ACCESS UIはプロセスの可視性を高めるため、エクスポートプロセスを手動で行うことをお勧めします。エクスポートを保存して後でワンクリックで行うことができるので、コードを修正する必要はありません。

エクスポートを制御するためのオプションがさらにたくさんあります。エクスポートテキストファイルを使用します。あなたがpropsされたファイル名と拡張子(txt)を見たら、txtをcsvに手動で変更してください。それが動作します。次のステップに進んだら、ADVANCEDボタンをクリックしてすべての書式設定や文字の変換などを制御します。

テーブルとそのデータにアクセスできないため、これはあなたのためにファイルを動作させる必要があります。

+0

エクスポート>テキストファイルオプションで手動でエクスポートすることはできません。 「書式設定とレイアウトでデータをエクスポートする」を選択しないと、「パラメータが少なすぎます。予想される3.」というエラーメッセージが表示されます。 このオプションを選択すると、データに正しい区切りがないため、データは使用できません。私は高度なオプションを可能にする画面には決して行きません。 私は努力に感謝! –

関連する問題