Access95のcsvファイルへのエクスポートで困っています。助けてください。

あるテーブルをTransferTextメソッドを使ってcsvファイルにエクスポートしています。
すると、csvファイルは指定したホルダの中に指定した名前できちんとできるのですが、
指定したホルダの中にcsvファイル以外に「export.ini」というファイルが勝手にできて
しまいます。「export.ini」のサイズは0バイトで中には何も書かれていません。

この「export.ini」の役目と、このファイルを作らなくする方法をご存じないでしょうか?

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

いま手元にあるACCESSは97と2000なので、違ってたらごめんなさい。



Export.ini はエクスポートする際の「書式」の保存のためのファイルでしょう。

2000で[エクスポート]を選択して形式をテキストにしたら
「書式を保存する」チェックボックスが存在します。

だから「書式の保存は不要」の指定を行えばExport.iniは作成されなくなるでしょう。

方法については・・・、ごめんなさい!。

この回答への補足

手動でエクスポートさせると「書式を保存する」のチェックの有無によらずexport.iniは作成されないのですが、
例えば"sampletable"というテーブルを、デスクトップに"test.csv"という名前で保存しようとして、
モジュールの中で

 DoCmd.TransferText acExportDelim, , "sampletable", "c:\windows\デスクトップ\test.csv"

と記述して実行させた場合に発生してしまいます。
書式を保存しないように設定する命令はありませんでしょうか?

補足日時:2002/01/12 00:42
    • good
    • 0
この回答へのお礼

早速の回答、ありがとうございます。

お礼日時:2002/01/12 00:43

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccessのマクロでモジュールを実行させたい。

Access2002を勉強中の初心者です。

AccessでDB1という名前のデータベースを作成し、その中で、モジュール1というモジュールを作成しました。これを実行するマクロを作成したく、次のようにマクロを作成しました。
マクロのデザイン画面でアクションに「プロージャの実行」を選択、プロージャ名入力覧の右側の...のボタンを押して式ビルダ画面を表示、ここの「関数」フォルダを開いてDB1を選択、表示されたモジュール1を貼り付けてOK。
しかし、このマクロを実行すると、次のエラーとなります。「DB1 指定されたDB1が見つけることができない関数名が含まれています」

根本的に方法が間違っているのでしょうか?
アドバイスをよろしくお願いします。

Aベストアンサー

#1です。

ちょっと時間ができたので、Accessのヘルプで、
 "RunCode/プロシージャの実行" アクション
についてのトピックを見てみました。

結論から言うと、基本的な考え方が間違っているみたいです^^;。

「プロシージャの実行」アクションでは、「Function」プロシージャを指定するようです。
Subプロシージャではエラーになります。


つまりご質問の件では、
「Subプロシージャを呼び出すFnctionプロシージャ」をまず書かなけれえばならない。
そして、マクロのアクションでは、あらためてこのFunctionプロシージャを指定しなければいけません。

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QAccessのマクロでCSVファイルをインポートする

Accessのマクロ・VBAにてCSVファイルを
インポートしたいのですが、うまくいきません。

DoCmd.TransferText acImportDelim, , "C:\Documents and Settings\yoshimi\My Documents\顧客マスタテーブル.csv", False
現在のコードです。

「オブジェクト'0.txt’が見つかりませんでした。
オブジェクトが存在していること、名前やパス名が正しいことを確認
してください。」
とエラーが表示されます。

過去ログを検索し、似たようなものを見つけ同じようにしたつもりです。
http://okweb.jp/kotaeru.php3?q=1691138
(回答のANo.1の定義の保存場所が分からずしていません)

どこがおかしいのか教えていただきたいです・・・

Aベストアンサー

インポート先(保存先)となるテーブルが指定されていないようです。

その分、カンマ(,)が1個少ないなっているために引数がずれて判断され、インポートするファイルが「C:\~顧客マスタテーブル.csv」ではなく、「0.txt」だと判断されているのではないかと思います。
(「False」がファイル名と解釈され(False=0)、テキストファイルと解釈されて拡張子「.txt」をつけてエラー表示された、と)

とりあえず、「Test」テーブルを作成し(フィールドは仮でF1,F2の2つでテキスト型)、「,"C:\~」の前に「,"Test"」を入れて実行してみて下さい。
(csvファイルが3列以上の構成であれば、「テーブル'Test'にはF3フィールドがありません」とのエラーが表示されるようになりると思いますので、適宜F3,F4,・・・と、必要な列数を追加して下さい:定義のかわりです)

QAccessでテーブルの値をテキストボックスに代入するには?

[ID][文字列]の2つのフィールドからなる単純なテーブルがあり、削除クエリを併用して常に最新のデータしか格納されていない状態に工夫できました。(データは常に1つ)
そこでフォーム上にあるテキストボックスにこのテーブルの[文字列]フィールドのデータを表示させたいのですが、
どうしたらよいでしょうか?

また、このテーブルの[文字列]フィールドのデータを直接変数として使いたい場合はVBAでどのように記述すればよいのでしょうか?

Aベストアンサー

テーブルに"データは常に1つ"ならコントロールソースに
「=DLOOKUP("文字列のフィールド名","テーブル名")」
IDごとに"データは常に1つ"ならコントロールソースに
「=DLOOKUP("文字列のフィールド名","テーブル名","[ID]='" & Me.ID & "'")」

Dlookup関数のヘルプ
http://office.microsoft.com/ja-jp/assistance/HP010496551041.aspx

QAccessのテーブル、クエリをCSV形式でエクスポートしたい

マクロを使ってAccessのテーブルやクエリを、カンマ区切のCSV形式でマクロを使ってエクスポートしたいのですが、それらしいものが見つかりません。

どのようにするのでしょうか?


環境:Access 2003 、WindowsXP

Aベストアンサー

マクロの「アクション」で「テキスト変換」を指定し、画面左下に表示される
『変換の種類』引数に「区切り記号付きエクスポート」を指定すればOKです。
 *VBAの場合は「TransferText」になります。

その他の引数については事例毎に個別になりますので、詳細はヘルプを
参照して下さい。
(マクロ・VBAとも、「TransferText」で検索を掛ければ見られると思います;
 Access2000で確認)

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

QAccessでテーブル名やクエリ名一覧の抜き出し

Accessでテーブルやクエリを沢山(100個以上?)使っております。

そこで、テーブル名やクエリ名の管理をしたいので、テーブル名(クエリ名)の一覧を抜き出したいのですが、どうすればいいのでしょうか?
または、そういうことは無理なのでしょうか??(;O;)

1個づつコピーペーストでテールブル名をエクセルに貼り付けて行こうかな?と思ったのですが、さすがに数が多すぎるので困っております。

できるだけ簡単な方法がいいのですが、もしなければVBAでもいいです。

おわかりの方がいらっしゃいましたら、よろしくお願いします。

Aベストアンサー

・クエリを新規作成
・以下SQLを貼り付け
SELECT MSysObjects.Type, MSysObjects.Name, MSysObjects.Flags
FROM MSysObjects
ORDER BY MSysObjects.Type, MSysObjects.Name;
・デザインビューで表示
あとは、TypeとFlagsの条件を変えてあげれば一覧できます。

QAccessのデータをテキストファイルで出力する方法を教えてください。

Accessのデータをテキストファイルで出力する方法を教えてください。

クエリで抽出したデータをテキストファイルに出力したいのですが、下記のような記述では""や,で区切られてしまいます。
DoCmd.TransferText acExportDelim, "", "クエリ名", "出力ファイル.txt"

フィールドごとに改行して出力する方法はないでしょうか?


<クエリ結果>
フィールド1  フィールド2  フィールド3
aaa      bbb      ccc

<出力テキストファイル>
aaa
bbb
ccc

Aベストアンサー

ADO の GetString メソッドを使って直に文字列を作って出力してみてはいかがでしょうか。
(GetStringのヘルプを参照してください)

列間の区切り、および行間の区切りに vbCrLf を指定します。
出来上がった文字列の最終には vbCrLf が付いているので、それを削除した文字列を出力します。


記述例)

Private Sub Sample()
  Dim rs As New ADODB.Recordset
  Dim vTmp As Variant
  Dim ffn As Integer
  Const sQueryName As String = "クエリ名"
  Const sOutputFileName As String = "C:\Hoge\HogeTest.txt" '出力ファイル名

  rs.Open sQueryName, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
  If (Not rs.EOF) Then
    vTmp = rs.GetString(adClipString, , vbCrLf, vbCrLf)
  End If
  rs.Close

  If (Not IsEmpty(vTmp)) Then
    ffn = FreeFile
    Open sOutputFileName For Output As #ffn
    Print #ffn, Left(vTmp, Len(vTmp) - Len(vbCrLf))
    Close #ffn
  End If
End Sub

ADO の GetString メソッドを使って直に文字列を作って出力してみてはいかがでしょうか。
(GetStringのヘルプを参照してください)

列間の区切り、および行間の区切りに vbCrLf を指定します。
出来上がった文字列の最終には vbCrLf が付いているので、それを削除した文字列を出力します。


記述例)

Private Sub Sample()
  Dim rs As New ADODB.Recordset
  Dim vTmp As Variant
  Dim ffn As Integer
  Const sQueryName As String = "クエリ名"
  Const sOutputFileName As String = "C:\Hoge\H...続きを読む

QEXCELマクロで上書きメッセージ無しで保存する方法

EXCELマクロで上書きメッセージ無しで保存する方法をお願いします
ActiveWorkbook.SaveAs "C:\Documents andSettings\Nakatani\MyDocuments\Book1.xls"
の様にするとすでにファイルがある場合上書きメッセージが出ます
メッセージを出さずに上書きするプログラミングを教えて下さい
宜しくお願いします

Aベストアンサー

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "C:\Documents andSettings\Nakatani\MyDocuments\Book1.xls"
Application.DisplayAlerts = True

QAccess サブフォームでの選択行の取得

こんにちは。

Access初心者です。

サブフォームでテーブルの項目を表示させていますが、
選択された行を取得する方法はありますか?
サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。

調べているのですが、なかなか検討がつきません。
宜しくお願い致します。

Aベストアンサー

フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、

Forms!フォーム1!サブフォーム1.Form.CurrentRecord

で取得できます。
(「Forms」と「Form」がありますのでご注意下さい)


また、フォーム1にコードを記述する場合であれば

Me!サブフォーム1.Form.CurrentRecord

サブフォーム1へのコード記述であれば

Me.CurrentRecord

という構文によっても、それぞれ取得が可能です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報