- ベストアンサー
マイクロソフトアクセスのテキストエクスポート
138フィールドあるデータを取り込んで クエリからデータ抽出後にテキストエクスポートする際に フィールド'フィールド130'の開始位置'32907'が有効ではありません。 開始位置は32767以内で指定してくださいと表示され テキストエクスポートできません。 このエラーの対処方法をご存知の方いましたら アドバイスよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問する前にWEB照会をすること。 Googleで「フィールド'フィールド130'の開始位置'32907'が有効ではありません。」で照会すると http://www.ruriplus.com/msaccess/bbscbrwb.asp?Root=11357 や http://okwave.jp/qa/q3294077.html 以下似たような質問・回答があるよ。 それを読んで、事例を認識したうえで、自分の場合を考えて、判らなければその点に絞って(内容を変更して)質問すること。 そうすると、ここへ質問する内容が変わる(具体的になり、細部のことになる)と思うよ。
その他の回答 (1)
- ushi2015
- ベストアンサー率51% (241/468)
回答No.1
こんにちは 「開始位置は32767以内」とかでググればすぐ見つかると思うのですが。 過去ログでも http://okwave.jp/qa/q3294077.html とか、有りましたよ。
質問者
お礼
ありがとうございます。 助かりました。
お礼
ありがとうございます。 対応出来ました。
補足
ご提案どうもありがとうございます。 さっそく、その点に絞って みました。 >それを読んで、事例を認識したうえで、自分の場合を考えて、判らなけれ >ばその点に絞って(内容を変更して)質問すること。 >そうすると、ここへ質問する内容が変わる(具体的になり、細部のこと >になる)と思うよ。 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付で保存されます) なにかいい案はないでしょうか。 お手数御おかけいたしますが どなたかどうぞよろしくお願いいたします。