Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12375 / 13646 ツリー ←次へ | 前へ→

【10759】CSVから直接MDBを作成したい kawata 04/2/12(木) 15:10 質問
【10787】Re:CSVから直接MDBを作成したい ichinose 04/2/13(金) 21:23 回答
【10789】Re:CSVから直接MDBを作成したい kawata 04/2/13(金) 23:32 お礼
【10835】Re:CSVから直接MDBを作成したい 別解 ichinose 04/2/15(日) 23:29 回答
【10836】訂正と追伸 ichinose 04/2/15(日) 23:38 発言
【10842】Re:訂正と追伸 kawata 04/2/16(月) 10:23 お礼
【10844】Re:訂正と追伸 ichinose 04/2/16(月) 11:01 発言
【10845】Re:訂正と追伸 kawata 04/2/16(月) 11:13 お礼
【10857】Re:訂正と追伸 kawata 04/2/16(月) 15:04 お礼
【10837】Re:CSVから直接MDBを作成したい 別解 kawata 04/2/16(月) 8:29 お礼
【10843】Re:CSVから直接MDBを作成したい 別解 kawata 04/2/16(月) 10:56 回答

【10759】CSVから直接MDBを作成したい
質問  kawata  - 04/2/12(木) 15:10 -

引用なし
パスワード
   kawataです、お久しぶりです、よろしくお願いします。
(Windows2000/Excel2000)

現在、ADO利用によるDB構築の勉強中です(^^;。
参考書とWEBで、どうにかこうにかmdbファイル作成、
テーブル作成、データ抽出と一連のサンプルを自分の
環境で動くところまでこぎつけました。
(全体的なコードの理解度は、まだまだ完全ではなくて・・・)。

で、次のステップとして、まったく新しいDBを作って
みようとして、ポピュラーな郵便番号→住所をADOで
ということでトライしております。

ここでしょっぱなから躓きました(^^;。
CSVの行数が12万強あるので、1シートに読み込めない
のです。

ExcelのVBAを使用して、CSVからシートを経由せずにmdbを
作成できる・・・という情報まではたどりついたのですが、
やりかたがさっぱりわかりません。
(フリーソフトは見つけましたが、Excelで作成してみたい)

CSVから直にmdbとなる、ファイル(mdb)の作成、テーブルの作成、
データの追加についてご指導ください、よろしくお願いします。

【10787】Re:CSVから直接MDBを作成したい
回答  ichinose  - 04/2/13(金) 21:23 -

引用なし
パスワード
   ▼kawata さん:
こんばんは。
昨日、投稿したのですが、どうも気に入らないので、削除してしまいました。
コードでテーブルを構築して「INSERT INTO」にしてみたり・・・。
で、結局、昨日のままのコードを再投稿しました。

では、例題の郵便番号のcsvデータですが、

http://www.post.japanpost.jp/zipcode/dl/kogaki.html

の「読み仮名データの促音・拗音を小書きで表記するもの」の全国一括を
ダウンロードしてください。
何故、例題のCSVを指定するのかと言うと、CSVの各列のデータを規定しなければ
ならないからです(汎用的にするのは、CSVを査定しなければならないかも)。

・解凍した「Ken_all.csv」を適当なフォルダに保存して下さい。

・次に以下の内容のテキストデータを「schema.ini」という名前で「Ken_all.csv」
と同じフォルダに作成して下さい。

[Ken_all.csv]
ColNameHeader=False
CharacterSet=oem
Format=CSVDelimited
Col1=フィールド1 Integer
Col2=フィールド2 Char Width 255
Col3=フィールド3 Char Width 255
Col4=フィールド4 Char Width 255
Col5=フィールド5 Char Width 255
Col6=フィールド6 Char Width 255
Col7=フィールド7 Char Width 255
Col8=フィールド8 Char Width 255
Col9=フィールド9 Char Width 255
Col10=フィールド10 Integer
Col11=フィールド11 Integer
Col12=フィールド12 Integer
Col13=フィールド13 Integer
Col14=フィールド14 Integer
Col15=フィールド15 Integer


↑これが、テーブルを規定するデータです。
これで前準備OK。

では、コードですが、参照設定で
「Microsoft ADO Ext.2.5 for DDL and Security」をチェックして下さい。

コードは、
「D:\EXCELファイル\ADO関連」というフォルダに
「yubinsamp.mdb」というmdbファイルを作成し、
同じ「D:\EXCELファイル\ADO関連」というフォルダにある「Ken_all.csv」というファイルを「schema.ini」を基にインポートし、「郵便番号」というテーブルを「yubinsamp.mdb」に作成します。

標準モジュール(Module1)に、
'==============================================================
Sub main()
  Dim dbpath As String
  dbpath = "D:\EXCELファイル\ADO関連\yubinsamp.mdb"
  Call delete_fl(dbpath)
  If create_cat(dbpath) = 0 Then
   sqlstr = "SELECT * INTO [郵便番号] FROM [TEXT;DATABASE=d:\EXCELファイル\ADO関連\].Ken_all.csv"
   If Exec(sqlstr) = 0 Then
     MsgBox "インポート成功"
     End If
   Call close_cat
   End If
End Sub

標準モジュール(Module1)に、
'==============================================================
Private cat As ADOX.Catalog
'==============================================================
Function create_cat(flnm As String) As Long
  On Error Resume Next
  Set cat = New ADOX.Catalog
  cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & flnm
  open_cat = Err.Number
  On Error GoTo 0
End Function
'==============================================================
Sub close_cat()
  cat.ActiveConnection.Close
  Set cat = Nothing
End Sub
'==============================================================
Function Exec(sql_str) As Long
  On Error Resume Next
  Exec = 0
  cat.ActiveConnection.Execute sql_str
  If Err.Number <> 0 Then
    Exec = Err.Number
    End If
  On Error GoTo 0
End Function
'==============================================================
Sub delete_fl(flnm)
  On Error Resume Next
  Kill flnm
  On Error GoTo 0
End Sub

本当は、作成するテーブル「郵便番号」には先頭にIDというオートナンバーのフィールドを作成しようと思っていたのです。それで、テーブルをコードで作成しようと思っていたんですが、ADOではわかりませんでした。

どなたかご存知の方、教えて下さい。

とりあえず、これでインポートはできました。
確認してみて下さい。

でも、これ、やっぱり、アクセスのTransferText メソッドを使った方が簡単かも?

【10789】Re:CSVから直接MDBを作成したい
お礼  kawata  - 04/2/13(金) 23:32 -

引用なし
パスワード
   kawataです、よろしくお願いします。

ichinoseさん、ありがとうございます。
最近、ようやく配列をサンプル見ないでかけるようになりました。
(簡単なコードだけですが)その節はありがとうございました。

>で、結局、昨日のままのコードを再投稿しました。
恐縮です、お手数おかけします。

>の「読み仮名データの促音・拗音を小書きで表記するもの」の全国一括を
>ダウンロードしてください。
はい、すでにダウン済みです、自分でもトライはしてみるのですが
ニッチもサッチもいかなくて・・・・(^^;。

>何故、例題のCSVを指定するのかと言うと、CSVの各列のデータを規定しなければ
>ならないからです(汎用的にするのは、CSVを査定しなければならないかも)。
>(中略)
>↑これが、テーブルを規定するデータです。
>これで前準備OK。
この部分ですね、これができないととっかかれないような気がします。
これを理解したら、あとあと応用利くんだろうな、がんばります!。

>本当は、作成するテーブル「郵便番号」には先頭にIDというオートナンバーのフィールドを作成しようと思っていたのです。それで、テーブルをコードで作成しようと思っていたんですが、ADOではわかりませんでした。
なるほど・・・・とうなずけるようにがんばらねば(^^;。

>とりあえず、これでインポートはできました。
>確認してみて下さい。
はい、どうも申し訳ないです、ありがとうございました。
と、いま、自宅からアクセスしておりまして、休み明けに会社で速攻で
チェック致します、結果報告します、しばらくお時間ください。
ありがとうございました!!。

>でも、これ、やっぱり、アクセスのTransferText メソッドを使った方が簡単かも?
はい、会社はアクセスは導入していなくて(^^;。
会社ではExcelとWordのみです、Accessは、いれてもいいが誰が使う?という
ような感じです、う〜む(^^;。
手を出して勉強しようにも、環境がないので、ならばADOをと思い立った
次第です。最終的には40万レコードのデータをなんとかしようともくろんで
おります、ぜひ、ADOをものにしたいところです。

とりあえずはお礼まで、ありがとうございました!。
また、よろしくお願いします。

【10835】Re:CSVから直接MDBを作成したい 別解
回答  ichinose  - 04/2/15(日) 23:29 -

引用なし
パスワード
   ▼kawata さん:
こんばんは。
オートナンバーの設定方法がやっとわかったので、訂正します。
前準備までは、前回投稿したとおりに作成してください。

以下のコードで、
「D:\EXCELファイル\ADO関連」というフォルダに
「yubinsamp.mdb」というmdbファイルを作成し、
同じ「D:\EXCELファイル\ADO関連」というフォルダにある「Ken_all.csv」というファイルを「schema.ini」を基にインポートし、「郵便番号」というテーブルを「yubinsamp.mdb」に作成します。
但し、テーブル「郵便番号」には、idというフィールドが新たに作成され型はオートナンバーでこれが主キーになります。
標準モジュール(Module1)に
'===============================================================
Sub main()
  Dim dbpath As String
  Dim nm(0 To 15)
  Dim tp
  Dim att
  nm(0) = "id"
  For idx = 1 To 15
   nm(idx) = "フィールド" & idx
   Next
  tp = Array(3, 3, 202, 202, 202, 202, 202, 202, 202, 202, 3, 3, 3, 3, 3, 3)
  att = Array(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False)
'↑テーブルの構成を定義
  dbpath = "D:\EXCELファイル\ADO関連\yubinsamp.mdb"
  Call delete_fl(dbpath)
  If create_cat(dbpath) = 0 Then
   If create_tbl("郵便番号", nm(), tp, att) = 0 Then
     sqlstr = "insert into [郵便番号] SELECT * FROM [Text;DATABASE=D:\EXCELファイル\ADO関連\].Ken_all.csv"
     If Exec(sqlstr) = 0 Then
      MsgBox "インポート成功"
      End If
     End If
   Call close_cat
   End If
End Sub

標準モジュール(module2)に(前回の投稿ではmodule1になっていましたね、module2です、訂正)、
'===============================================================
Private cat As ADOX.Catalog
Function create_cat(flnm As String) As Long
  On Error Resume Next
  Set cat = New ADOX.Catalog
  cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & flnm
  create_cat = Err.Number
  On Error GoTo 0
End Function
'===============================================================
Sub close_cat()
  cat.ActiveConnection.Close
  Set cat = Nothing
End Sub
'===============================================================
Function Exec(sql_str) As Long
  On Error Resume Next
  Exec = 0
  cat.ActiveConnection.Execute sql_str
  If Err.Number <> 0 Then
    Exec = Err.Number
    End If
  On Error GoTo 0
End Function
'===============================================================
Sub delete_fl(flnm)
  On Error Resume Next
  Kill flnm
  On Error GoTo 0
End Sub
'===============================================================
Function create_tbl(tblnm As String, nmarray, tparray, attarray) As Long
'tblnmというテーブルを作成し、最初の列に主キーを設定する
'Input:tblnm----テーブル名
'   nmarray----列の名前の配列
'   tparray----列のタイプの配列
'   attarray---列のオートナンバーか否かの配列 Trueオートナンバー、falseオートナンバーでない
  On Error GoTo err_create_tbl
  Dim RS As ADODB.Recordset
  Dim tbl As ADOX.Table
  Dim col As ADOX.Column
  Dim kky As ADOX.Key
  create_tbl = 0
  Set tbl = New ADOX.Table
  tbl.name = tblnm
  jdx = 0
  For idx = LBound(nmarray) To UBound(nmarray)
    Set col = New ADOX.Column
    With col
     .name = nmarray(idx)
     .type = tparray(idx)
     Set .ParentCatalog = cat
     .Properties("AutoIncrement") = attarray(idx)
     .DefinedSize = 100
     End With
    tbl.Columns.Append col
    Set col = Nothing
    Next idx
  cat.Tables.Append tbl
  Set kky = New ADOX.Key
  cat.Tables(tblnm).Keys.Append nmarray(LBound(nmarray)), adKeyPrimary, nmarray(LBound(nmarray))
  Set tbl = Nothing
  Set col = Nothing
  On Error GoTo 0
ret_create_tbl:
  Exit Function
err_create_tbl:
  MsgBox Error(Err.Number)
  create_tbl = Err.Number
  Resume ret_create_tbl
End Function

前回の投稿と合わせて確認してみて下さい。
私の環境では、30秒未満程で処理が終わりました。

それと私は、他のDBにつなぐこともあるので、ADOを使っていますが、
mdbファイル特別な設定などは、調べるのが大変です(私は、テーブルの作成などは
アクセスで大抵やってしまうので、あまり不便は感じませんが)。
勉強にはなりますが、
DAOを使えば、今回のようなオートナンバーの設定などは簡単です。
お聞きした限り、Accessのない環境だということですが、
mdbファイルを操作するという限りでは、DAOの方が便利そうですよ。

【10836】訂正と追伸
発言  ichinose  - 04/2/15(日) 23:38 -

引用なし
パスワード
   よけいなコードが入っていました。


>'===============================================================
>Function create_tbl(tblnm As String, nmarray, tparray, attarray) As Long
>'tblnmというテーブルを作成し、最初の列に主キーを設定する
>'Input:tblnm----テーブル名
>'   nmarray----列の名前の配列
>'   tparray----列のタイプの配列
>'   attarray---列のオートナンバーか否かの配列 Trueオートナンバー、falseオートナンバーでない
>  On Error GoTo err_create_tbl
'  Dim RS As ADODB.Recordset 削除
>  Dim tbl As ADOX.Table
>  Dim col As ADOX.Column
'  Dim kky As ADOX.Key 削除
>  create_tbl = 0
>  Set tbl = New ADOX.Table
>  tbl.name = tblnm
>  jdx = 0
>  For idx = LBound(nmarray) To UBound(nmarray)
>    Set col = New ADOX.Column
>    With col
>     .name = nmarray(idx)
>     .type = tparray(idx)
>     Set .ParentCatalog = cat
>     .Properties("AutoIncrement") = attarray(idx)
>     .DefinedSize = 100
>     End With
>    tbl.Columns.Append col
>    Set col = Nothing
>    Next idx
>  cat.Tables.Append tbl
'  Set kky = New ADOX.Key 削除
>  cat.Tables(tblnm).Keys.Append nmarray(LBound(nmarray)), adKeyPrimary, nmarray(LBound(nmarray))
>  Set tbl = Nothing
>  Set col = Nothing
>  On Error GoTo 0
>ret_create_tbl:
>  Exit Function
>err_create_tbl:
>  MsgBox Error(Err.Number)
>  create_tbl = Err.Number
>  Resume ret_create_tbl
>End Function

それから、ADOの本家情報から
http://www.microsoft.com/japan/msdn/data/techmat/ado/dao2ado.asp
いろいろ載ってました。

【10837】Re:CSVから直接MDBを作成したい 別解
お礼  kawata  - 04/2/16(月) 8:29 -

引用なし
パスワード
   kawataです、よろしくお願いします。

ichinoseさん、おはようございます、ありがとうございます。

>オートナンバーの設定方法がやっとわかったので、訂正します。
>前準備までは、前回投稿したとおりに作成してください。
(中略)
>前回の投稿と合わせて確認してみて下さい。
>私の環境では、30秒未満程で処理が終わりました。

なんか、だんだん、すごいイメージに、ぜひともものにせねばという意欲が(^^;
頑張ります。

>DAOを使えば、今回のようなオートナンバーの設定などは簡単です。
>お聞きした限り、Accessのない環境だということですが、
>mdbファイルを操作するという限りでは、DAOの方が便利そうですよ。

はい、それは調べている段階で、おおよそのイメージはあるのですが、
ADOのほうが難しそうだと思って、ADOを理解できたらDAOには入っていきやすいと
考えたのですが・・・。
やっぱり逆なんでしょうか、DAOを理解してからADOをするべき?。

とりあえず先に、指導いただいたぶんでADOでDBを作ってみます。
DAOは平行して調べてみます、

ありがとうございました、結果報告までしばらくお時間ください。
※さて、スムーズに行くかな(^^;。

【10842】Re:訂正と追伸
お礼  kawata  - 04/2/16(月) 10:23 -

引用なし
パスワード
   kawataです、よろしくお願いします。

ichinoseさん、ありがとうございます、まずはテストしました。
一番目の解の結果
TBL_NAME    FLD_NAME    TYPE    LEN    ZERO
郵便番号                
1    フィールド1    adInteger    0    FALSE
2    フィールド2    adVarWChar    255    TRUE
3    フィールド3    adVarWChar    255    TRUE
4    フィールド4    adVarWChar    255    TRUE
5    フィールド5    adVarWChar    255    TRUE
6    フィールド6    adVarWChar    255    TRUE
7    フィールド7    adVarWChar    255    TRUE
8    フィールド8    adVarWChar    255    TRUE
9    フィールド9    adVarWChar    255    TRUE
10    フィールド10    adInteger    0    FALSE
11    フィールド11    adInteger    0    FALSE
12    フィールド12    adInteger    0    FALSE
13    フィールド13    adInteger    0    FALSE
14    フィールド14    adInteger    0    FALSE
15    フィールド15    adInteger    0    FALSE

17M弱のMDBファイルが作成されました、時間は・・・・・
実行して腕時計見て、画面に目を戻したら終わっていたような(^^;、
10秒いらなかったかも、なんか・・・・すごい。

一番目の解の結果
TBL_NAME    FLD_NAME    TYPE    LEN    ZERO    
郵便番号                    
1    id        adInteger    0    FALSE    P
2    フィールド1    adInteger    0    FALSE    
3    フィールド2    adVarWChar    100    TRUE    
4    フィールド3    adVarWChar    100    TRUE    
5    フィールド4    adVarWChar    100    TRUE    
6    フィールド5    adVarWChar    100    TRUE    
7    フィールド6    adVarWChar    100    TRUE    
8    フィールド7    adVarWChar    100    TRUE    
9    フィールド8    adVarWChar    100    TRUE    
10    フィールド9    adVarWChar    100    TRUE    
11    フィールド10    adInteger    0    FALSE    
12    フィールド11    adInteger    0    FALSE    
13    フィールド12    adInteger    0    FALSE    
14    フィールド13    adInteger    0    FALSE    
15    フィールド14    adInteger    0    FALSE    
16    フィールド15    adInteger    0    FALSE    

76KのMDBファイルでした、あれ?と思ってテーブルをチェックしたら
テーブルは作成されていました、レコードが入ってないのでしょうか?
引き続き、あれこれやってみます。(最新のレスの修正は折込済です)。

これで、いま取組中の、抽出部分をこのDBに変えて、やってみます。
ワクワクしてきました(^^;。

1つだけ気になることが(^^;。
主キーをオートナンバーで作成されるユニークなIDというのは理解できる
のですが、抽出PGMでは、どうしても郵便番号での抽出になりますよね?。
この場合、郵便番号を主キーにするべきなのでしょうか?。
それとも、これはおかしな考えかたですか?。

とりあえずは、お礼まで、ありがとうございました。
※さて、解析して・・・・・(^^;。

【10843】Re:CSVから直接MDBを作成したい 別解
回答  kawata  - 04/2/16(月) 10:56 -

引用なし
パスワード
   kawataです、よろしくお願いします。

ichinoseさん、大変失礼しました。
2回目の解でのMDB作成成功です。

モジュールmainの
sqlstr = "insert into [郵便番号] SELECT * FROM [Text;DATABASE=D:\EXCELファイル\ADO関連\].Ken_all.csv"
の部分で、なんと・・・・・・FROMの前後のスペースが全角(^^;。
まさに、コピペまるだしでした、どうもすいませんでした!!m(__)m。

半信半疑で、半角スペースに直してテストしたら、バッチリでした。
(実は、いまだに半信半疑なんですが・・・・・(^^;。)

ご報告まで。
抽出部分が完成したら、最終の結果報告としたいと思います。
ありがとうございました!。

【10844】Re:訂正と追伸
発言  ichinose  - 04/2/16(月) 11:01 -

引用なし
パスワード
   ▼kawata さん:
おはようございます。

>
>ichinoseさん、ありがとうございます、まずはテストしました。
>一番目の解の結果
>TBL_NAME    FLD_NAME    TYPE    LEN    ZERO
>郵便番号                
>1    フィールド1    adInteger    0    FALSE
>2    フィールド2    adVarWChar    255    TRUE
>3    フィールド3    adVarWChar    255    TRUE
>4    フィールド4    adVarWChar    255    TRUE
>5    フィールド5    adVarWChar    255    TRUE
>6    フィールド6    adVarWChar    255    TRUE
>7    フィールド7    adVarWChar    255    TRUE
>8    フィールド8    adVarWChar    255    TRUE
>9    フィールド9    adVarWChar    255    TRUE
>10    フィールド10    adInteger    0    FALSE
>11    フィールド11    adInteger    0    FALSE
>12    フィールド12    adInteger    0    FALSE
>13    フィールド13    adInteger    0    FALSE
>14    フィールド14    adInteger    0    FALSE
>15    フィールド15    adInteger    0    FALSE
>
>17M弱のMDBファイルが作成されました、時間は・・・・・
>実行して腕時計見て、画面に目を戻したら終わっていたような(^^;、
>10秒いらなかったかも、なんか・・・・すごい。
↑こっちは、OKですね!!

>
>一番目の解の結果
>TBL_NAME    FLD_NAME    TYPE    LEN    ZERO    
>郵便番号                    
>1    id        adInteger    0    FALSE    P
>2    フィールド1    adInteger    0    FALSE    
>3    フィールド2    adVarWChar    100    TRUE    
>4    フィールド3    adVarWChar    100    TRUE    
>5    フィールド4    adVarWChar    100    TRUE    
>6    フィールド5    adVarWChar    100    TRUE    
>7    フィールド6    adVarWChar    100    TRUE    
>8    フィールド7    adVarWChar    100    TRUE    
>9    フィールド8    adVarWChar    100    TRUE    
>10    フィールド9    adVarWChar    100    TRUE    
>11    フィールド10    adInteger    0    FALSE    
>12    フィールド11    adInteger    0    FALSE    
>13    フィールド12    adInteger    0    FALSE    
>14    フィールド13    adInteger    0    FALSE    
>15    フィールド14    adInteger    0    FALSE    
>16    フィールド15    adInteger    0    FALSE    
>
>76KのMDBファイルでした、あれ?と思ってテーブルをチェックしたら
>テーブルは作成されていました、レコードが入ってないのでしょうか?
>引き続き、あれこれやってみます。(最新のレスの修正は折込済です)。
やっはり?

sqlstr = "insert into [郵便番号] SELECT * FROM [Text;DATABASE=D:\EXCELファイル\ADO関連\].Ken_all.csv"

↑の中に全角の空白が入っています。半角に変えてください。
私は、半角空白ふたつ入れたつもりでしたが、投稿で全角に変わってしまったみたい。


>
>
>1つだけ気になることが(^^;。
>主キーをオートナンバーで作成されるユニークなIDというのは理解できる
>のですが、抽出PGMでは、どうしても郵便番号での抽出になりますよね?。
>この場合、郵便番号を主キーにするべきなのでしょうか?。
>それとも、これはおかしな考えかたですか?。
あっ、これね、郵便番号は、同じで住所の違う場合がありますよ。

【10845】Re:訂正と追伸
お礼  kawata  - 04/2/16(月) 11:13 -

引用なし
パスワード
   kawataです(^^;。

ichinoseさん、ありがとうございます。

>sqlstr = "insert into [郵便番号] SELECT * FROM [Text;DATABASE=D:\EXCELファイル\ADO関連\].Ken_all.csv"
>
>↑の中に全角の空白が入っています。半角に変えてください。
>私は、半角空白ふたつ入れたつもりでしたが、投稿で全角に変わってしまったみたい。

おっとビックリ!、正解でしたか?(嬉しい〜(^^;)

>あっ、これね、郵便番号は、同じで住所の違う場合がありますよ。

なるほど、そうですね、ありますね(^^;。
ということは、抽出PGMも、郵便番号のフィールドを、「=」でなく
「Like」で抽出するように組まないと不具合出る可能性ありますね。

ふむ〜、どんどん難しくなっていきますね、頑張ります(^^;。
ありがとうございました。

【10857】Re:訂正と追伸
お礼  kawata  - 04/2/16(月) 15:04 -

引用なし
パスワード
   kawataです、よろしくお願いします。

質問の件、MDB作成はまったく問題なく成功しました。
ichinoseさん、どうもありがとうございました。

これを理解して、最終的には40万レコードのシステムを
作成したいと考えています、また、いつでも応用が利くように
しておけばExcelの活用範囲が、一段と広がるような予感もして
おります、気合いれて頑張らんと・・・(^^;。

最近、入手した参考書、WEBでの情報は、まずAccessで作成した
DBありきが前提になっていたり、Excel1シート(65536行)の
データからテーブルを作るものとかがほとんどで、今回の情報は
じつに、ありがたいものでした、感謝しきりです。
(実際に500行程度でのテーブル作成、抽出のサンプルは動く
ところまでできていました)。
ゆえに、あとは作成したMDBに置き換えて、抽出(追加・削除含む)
する部分をと思っておったのですが・・・・・・、
いま、また四苦八苦しております。なかなかハードル高いですね(^^;。
おまけにADOに関するヘルプがないし(教えていただいたページは
即お気に入りに入れてます)。

どうも時間がかかりそうです。
ということで、いつまでもほったらかしにできませんので、CSVtoMDB
は解決ということにしておいてください。
新たな質問は、また別スレッドにすることにします。
(何より先に、自分の理解・不理解を整理しないと・・・・(^^;)。
加えて、DAOに関する情報も集めようと。

また、よろしくお願いします、どうもありがとうございました!!。

12375 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free