• ベストアンサー

マイクロソフトアクセスのテキストエクスポート

138フィールドあるデータを取り込んで クエリからデータ抽出後にテキストエクスポートする際に フィールド'フィールド130'の開始位置'32907'が有効ではありません。 開始位置は32767以内で指定してくださいと表示され テキストエクスポートできません。 このエラーの対処方法をご存知の方いましたら アドバイスよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問する前にWEB照会をすること。 Googleで「フィールド'フィールド130'の開始位置'32907'が有効ではありません。」で照会すると http://www.ruriplus.com/msaccess/bbscbrwb.asp?Root=11357http://okwave.jp/qa/q3294077.html 以下似たような質問・回答があるよ。 それを読んで、事例を認識したうえで、自分の場合を考えて、判らなければその点に絞って(内容を変更して)質問すること。 そうすると、ここへ質問する内容が変わる(具体的になり、細部のことになる)と思うよ。

yairi1106
質問者

お礼

ありがとうございます。 対応出来ました。

yairi1106
質問者

補足

ご提案どうもありがとうございます。 さっそく、その点に絞って みました。 >それを読んで、事例を認識したうえで、自分の場合を考えて、判らなけれ >ばその点に絞って(内容を変更して)質問すること。 >そうすると、ここへ質問する内容が変わる(具体的になり、細部のこと >になる)と思うよ。 Sub csvOut() Dim db As DAO.Database Dim rs As DAO.Recordset Dim fld As DAO.Field Dim s As String Dim objFs As Object Dim outFile As Object Const ForWriting = 2 Set objFs = CreateObject("Scripting.FileSystemObject") Set outFile = objFs.CreateTextFile("c:\test.csv", ForWriting, True) Set db = CurrentDb Set rs = db.OpenRecordset("テーブル名", dbOpenSnapshot) Do Until rs.EOF      For Each fld In rs.Fields          Select Case fld.Type       Case 10, 12   'テキストかメモ型の場合         s = s & Chr(34) & fld.Value & Chr(34) & Chr(44)       Case Else         s = s & fld.Value & Chr(44)     End Select      Next      s = Left(s, Len(s) - 1)   Debug.Print s   outFile.writeline s   s = ""   rs.MoveNext Loop outFile.Close Set objFs = Nothing rs.Close: Set rs = Nothing db.Close: Set db = Nothing End Sub 出力した文字コードを SHIFT-JISで保存したいのですが (現在はユニコードBOM付で保存されます) なにかいい案はないでしょうか。 お手数御おかけいたしますが どなたかどうぞよろしくお願いいたします。

その他の回答 (1)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 「開始位置は32767以内」とかでググればすぐ見つかると思うのですが。 過去ログでも http://okwave.jp/qa/q3294077.html とか、有りましたよ。

yairi1106
質問者

お礼

ありがとうございます。 助かりました。

関連するQ&A

専門家に質問してみよう