過去ログ

                                Page     154
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼インポートについて  お年頃 02/12/19(木) 18:39
   ┗Re:インポートについて  イケガミ 02/12/19(木) 18:43
      ┗Re:インポートについて  お年頃 02/12/20(金) 8:48
         ┗Re:インポートについて  イケガミ 02/12/20(金) 11:38
            ┗Re:インポートについて  お年頃 02/12/27(金) 11:35
               ┗Re:インポートについて  イケガミ 03/1/4(土) 12:23
                  ┗Re:インポートについて  お年頃 03/1/6(月) 10:00
                     ┣Re:インポートについて  イケガミ 03/1/6(月) 10:12
                     ┗Re:別案  イケガミ 03/1/6(月) 10:23
                        ┗Re:出来ました  お年頃 03/1/7(火) 12:00

 ───────────────────────────────────────
 ■題名 : インポートについて
 ■名前 : お年頃
 ■日付 : 02/12/19(木) 18:39
 -------------------------------------------------------------------------
   久しぶりに質問させていただきます。
OS2000 Access2000 での環境です。

もしかしたらエクセルの問題かも知れませんが何卒よろしくお願いします。

エクセルのデータをインポートするコマンドボタンがあります。
エクセルのバージョンが95ならインポートが可能です。

しかしエクセルのバージョンが95から2000にバージョンアップしたデータで
インポートした場合はインポートが不可能です。

またエクセルのバージョンが2000で、直接データを入力した場合では、インポート
可能です。

95から一度CSV方式に変換して、そのあとCSV方式から2000に変換すると 文字列で指定
していた数字が、数値型に変換されてしまうため、再度入力しなければならないので手間
がかかります。

データも300件ほどあるので出来れば95から2000にバージョンアップした状態でデータを
使用したいと思っています。
わがまま言って申し訳ございませんが、どなたかご存知な方いませんか?

よろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/19(木) 18:43  -------------------------------------------------------------------------
   >エクセルのデータをインポートするコマンドボタンがあります。

これがどのような方法でしているのかが分からないと回答できないですよ。
マクロならマクロの内容を。
VBAなら、コードをこちらにUpしてください。

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : お年頃  ■日付 : 02/12/20(金) 8:48  -------------------------------------------------------------------------
   ▼イケガミ さん:
>>エクセルのデータをインポートするコマンドボタンがあります。
>
>これがどのような方法でしているのかが分からないと回答できないですよ。
>マクロならマクロの内容を。
>VBAなら、コードをこちらにUpしてください。

説明不足ですね。ごめんなさい

DoCmd.TransferSpreadsheet acImport, , "データ取込", データ.xls, True

のように記述しています。

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/20(金) 11:38  -------------------------------------------------------------------------
   > DoCmd.TransferSpreadsheet acImport, , "データ取込", データ.xls, True

第2引数(spreadsheettype)を指定してから試してみてください。

と、第4引数(filename)に引用符がないのと、本来はフルパスで記述する
必要がありますけど。。

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : お年頃  ■日付 : 02/12/27(金) 11:35  -------------------------------------------------------------------------
   ▼イケガミ さん:
>> DoCmd.TransferSpreadsheet acImport, , "データ取込", データ.xls, True
>
>第2引数(spreadsheettype)を指定してから試してみてください。
>
>と、第4引数(filename)に引用符がないのと、本来はフルパスで記述する
>必要がありますけど。。

DoCmd.TransferSpreadsheet acImport, 8 , "データ取込", データ.xls, True

と記述してもだめでしたね。

あとフルパスで記述していないと普通はエラーが表示されますよね。でもエラーが表示されないので問題はないと思います。

Excelは読み込むのですがデータを取り込んでくれないので困っています

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/1/4(土) 12:23  -------------------------------------------------------------------------
   明けましておめでとうございます。
年越しのレスになってしまいましたが。。

> DoCmd.TransferSpreadsheet acImport, 8 , "データ取込", データ.xls, True

DoCmd.TransferSpreadsheet acImport, 8 , "データ取込", "C:\データ.xls", True
としても状況に変化はないのでしょうか?


> 95から2000にバージョンアップした状態で
これは、95で作成したファイルを2000で読み込んでから2000の形式で
保存したということでしょうか?
もし、2000の形式で保存しなおしていないのならば、
5 を使えばいいのかな?
#既定値が8みたいなので。

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : お年頃  ■日付 : 03/1/6(月) 10:00  -------------------------------------------------------------------------
   ▼イケガミ さん:

>DoCmd.TransferSpreadsheet acImport, 8 , "データ取込", "C:\データ.xls", True
↑としても変化は無いですね。

例えば上のソースコードでエクセルのバージョンが95であればデータが取り込むことは
可能なのですが、95のデータを2000で保存したデータの場合はデータを取り込むことは不可能です。2000で新規に作成したデータならばデータを取り込むことが可能なんですよ!

理由がわかりません。

 ───────────────────────────────────────  ■題名 : Re:インポートについて  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/1/6(月) 10:12  -------------------------------------------------------------------------
   >95のデータを2000で保存したデータの場合はデータを取り込むことは不可能です。
>理由がわかりません。

どうしてでしょうね。。。
こちらでOffice95がないので検証できません。

メールででも、適当なデータ(エクセルファイル)を送付していただければ
検証してみますけど。。

 ───────────────────────────────────────  ■題名 : Re:別案  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 03/1/6(月) 10:23  -------------------------------------------------------------------------
   TransferSpreadsheet ではなく、追加クエリを使ってみては?

Dim strSql As String
strSql = "INSERT INTO T_temp ( Fld1, Fld2, Fld3, Fld4 ) " & _
   "SELECT Fld1, Fld2, Fld3, Fld4 FROM [sheet1$a1:d100] " & _
   "IN 'C:\temp.xls' 'EXCEL 8.0;'"
CurrentDb.Execute strSql

のような感じで。。

 ───────────────────────────────────────  ■題名 : Re:出来ました  ■名前 : お年頃  ■日付 : 03/1/7(火) 12:00  -------------------------------------------------------------------------
   一応できましたので

ありがとうございます。

TransferSpreadsheet では出来ない理由はわからなかったですけど
まっ出来たのでよかったです。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 154