Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2016)
SQLでテーブル作成するとF10が¥10になる
投稿日時: 20/09/14 23:18:42
投稿者: necori

初めまして。質問させてください。
 
下記のように、T_FILE.csvファイルからSQLでテーブル(T_TEST)を作成しています。
マクロはうまくいくのですが、
T_FILE.csvファイルの値が、(F・K・S)+数字の場合、
なぜかデータ型が通貨型になってしまします。(F1000→\1000、K2000→\2000、S3000→\3000など)
csvファイルの文字コードはANSIです。
理由&解決策がありましたらどうか教えて下さいm(__)m
 
-------------------------------------------
Public Sub ImportText_ADO()
    Dim cn As ADODB.Connection
    Dim lsSQL As String
    Dim lsPath As String
  
  Set cn = CurrentProject.Connection
    lsPath = CurrentProject.Path
   
    '現在のテーブルを削除する
    If DCount("*", "MSysobjects", "[Name]='T_TEST'") > 0 Then
        DoCmd.DeleteObject acTable, "T_TEST"
    End If
 
  'SQL設定
    lsSQL = "SELECT * INTO T_TEST FROM [T_FILE.csv] IN " & _
    "'" & FD & "' 'Text;HDR=YES'"
     
  'テーブル作成
  cn.Execute lsSQL
 
    cn.Close
    Set cn = Nothing
End Sub

回答
投稿日時: 20/09/15 09:12:44
投稿者: sk

引用:
T_FILE.csvファイルからSQLでテーブル(T_TEST)を作成

引用:
T_FILE.csvファイルの値が、(F・K・S)+数字の場合、
なぜかデータ型が通貨型になってしまします。
(F1000→\1000、K2000→\2000、S3000→\3000など)

MS コミュニティより:
https://answers.microsoft.com/ja-jp/msoffice/forum/all/%ef%bd%83%ef%bd%93%ef%bd%96%e3%81%ae%e3%82%a4/81345cc6-bcbc-461e-acab-9014fec7cb8c
 
引用:
'SQL設定
lsSQL = "SELECT * INTO T_TEST FROM [T_FILE.csv] IN " & _
"'" & FD & "' 'Text;HDR=YES'"

・あらかじめテキストリンクウィザードを実行してリンク定義を作成しておき、
 IN 句における DSN パラメータとしてそのリンク定義の名前を指定する。
 
・リンク先のテキストファイルと同じフォルダに、
 そのテキストファイルのデータ構造を定義する
 Schema.ini ファイルを用意しておく。
 
テキストファイルのフォーマットが常に固定されているのであれば、
以上のいずれかで対応なさればよろしいかと。

投稿日時: 20/09/15 14:34:37
投稿者: necori

できました!!!
大変勉強になりました!!!
どうもありがとうございます!!!