アプリ版:「スタンプのみでお礼する」機能のリリースについて

1件のフィールドが240あるデータをエクセルから取り込んだとき、整数値であるべきデータ型がテキスト型となってました。一括で変換できる技はないでしょうか?でなければテーブルをデザインビューで開いて一つ一つクリックで変換するしかありません。

A 回答 (3件)

どのくらい楽になるかわかりませんが、



ADOXでテーブル名をひとつずつ拾って、
ADOでALTER文をかければできると思います。

Dim Conn As New ADODB.Connection
Dim strSQL As String
Set Conn = CurrentProject.Connection

do
'テーブル名取得
・・・・・・・・・・・
strSQL = "alter table テーブル名 alter column [フィールド名]integer;"
Conn.Execute strSQL
loop

のように。

テーブル名取得に関しては
http://www.accessclub.jp/ado/adox/04.html

DAOでもできると思います。
    • good
    • 0

NO1です。

 
テーブルがたくさんあるのではなくて、フィールドがたくさんあるのでしたら、

テーブル名を取得のところを
フィールド名を取得ということになります。

http://www.geocities.jp/cbc_vbnet/ADOX/table.htm …

テーブルがひとつなら、読み込みなおしたほうが早いかも。
    • good
    • 0

EXCELのセルは数値でも文字でも入ってしまうので、「0の場合表示したくない」ときに数式をIF(A1=0,"",A1)としてしまうと、


ゼロの場合は文字になってしまうので、Access側でも文字型フィールドとして認識されてしまう場合もあります。
これをEXCEL側の表示書式で"#,###;-#,###;"などとして「0」値を表示させない方式にすれば、
ACCESS側では「0」即ち数値フィールドとして認識してくれるはずです。
まずEXCELでこの辺りを確認されることをお勧めします。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す