メモ帳に何も記述しないで、ファイル名にTest.mdbと入力し、保存した後に、
OleDbDataAdapterでそのファイルを読み込んだのですけど、接続できませんでした。
っと色々試したのですが、出来ませんでした。
そこで、mdbファイルはどうやって作るんですか?
教えてください。
お願いします。
とりあえず OleDbDataAdapter 以前に
『テキスト Access インポート』辺りをキーワードに
グーグルで検索してアクセスデータのインポート・エクスポートの
知識をつけてもらって…(これはVBの知識ではありません Access
の知識ですので他のサイトで学んで下さい)
ファイルの作成で VBA のサンプルは見つかったので載せておきます。
http://homepage.mac.com/sunagoh/lesson/db1.html
DAO を使ってますので[VB.NET]でもほぼそのままで使えると
思います。OleDbDataAdapter でテーブルの作成ができるか
どうかは調べた事ないですが、DAO ならできます。
http://www.accessclub.jp/dao/20.html
確かにコーディングはVBでできるんですけど、この辺りの情報は
Access 系のサイトに多いです。
テキストファイルからのインポートでうまい方法があるか?
…は詳しくないので他の方に任せます。
MDBファイルは作成でき、接続に成功しましたが、
データが入っていませんでした。(TT)
あと、VB6で
Dim objMDB As DAO.Database
Dim objTDEF As DAO.TableDef
Dim objFLD As DAO.Field
なっていますが、VB.NETのソースに変える場合は、どのように変更すればいいでしょうか?
それともう一つ、VB6のソースをVB.NETに変えているのですけれど、エラーが発生してしまいます。
原因はなんでしょうか?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objMDB As DAO.Database
Dim objTDEF As DAO.TableDef
Dim objFLD As DAO.Field
Dim objRset As Object
Dim strSQL As String
Dim intI As Integer
'MDBの作成
objMDB = DAODBEngine_definst.CreateDatabase("C:\TEST.MDB", DAO.LanguageConstants.dbLangJapanese, DAO.DatabaseTypeEnum.dbVersion30)
Listbox1.Items.Add("CreateDatabase")
'作成確認
If Dir("C:\TEST.MDB") = "" Then
MsgBox("MDB作成失敗")
End If
'MDBのOPEN
objMDB = DAODBEngine_definst.OpenDatabase("C:\TEST.MDB", False)
Listbox1.Items.Add("OpenDatabase")
'テ-ブル作成
objTDEF = objMDB.CreateTableDef("TBL1")
ListBox1.Items.Add("CreateTableDef")
'項目生成
objFLD = objTDEF.CreateField("Fld1", DAO.DataTypeEnum.dbText, 10)
objTDEF.Fields.Append(objFLD)
ListBox1.Items.Add("CreateField Fld1")
objFLD = objTDEF.CreateField("Fld2", DAO.DataTypeEnum.dbText, 10)
objTDEF.Fields.Append(objFLD)
ListBox1.Items.Add("CreateField Fld2")
objMDB.TableDefs.Append(objTDEF)
ListBox1.Items.Add("TableDefs.Append")
'データINSERT
For intI = 1 To 5
strSQL = "INSERT into TBL1 (Fld1,Fld2) values ('" & Format(intI, "0000000000") & "','AAAAAA');"
Call objMDB.Execute(strSQL, DAO.RecordsetTypeEnum.dbOpenDynaset)
Next
ListBox1.Items.Add("Executeメソッドで5件INSERT")
ListBox1.Items.Add("***********************")
'データ抽出
strSQL = "Select * from TBL1;"
objRset = objMDB.OpenRecordset(strSQL, DAO.RecordsetTypeEnum.dbOpenDynaset)
MsgBox("objRset.type=" & objRset.type)
MsgBox("objRset.name=" & objRset.name)
MsgBox("objRset.RecordCount=" & objRset.RecordCount)
MsgBox("objRset.Fields.Count=" & objRset.Fields.Count)
Do Until objRset.EOF
ListBox1.Items.Add("Fld1=" & objRset.Fields.Item("Fld1").VALUE & " Fld2=" & objRset.Fields.Item("Fld2").VALUE)
'& " Fld2=" & objRset!Fld2)
objRset.MoveNext()
Loop
End Sub
自分のソースを人にデバッグさせる気ですか?
せめてエラーとなった箇所とエラーメッセージぐらい書いた方がいいんじゃないですか?
すみませんでした。
自己解決しました。
とんでもないことに一つだけ定義を忘れていました。
追加質問です。
完成したのですけれど、自分では何処をどのように変ればいいか分かりません。
そこで、お願いがあるのですが、私が作った装置を使って、
何処をどのように直せばいいか教えてください。
あと、逆コンパイルや逆アセンブリは出来れば、しないでください。
あと、自己責任ということで使ってください。
それと、非公開の装置ですから・・・←自分が使うために作ったもの
なぜなら、私のホームページで無料配布しても言語をしていない方には
無意味な気がするし、それに、有料配布の仕方も知りませんし、一度もやったことがないし、
っと言うことで非公開にしました。
で、必ず、どこをどのように直せばいいかという返事をください。
お願いします。
ダウンロードページ:http://www.geocities.jp/dfgkthug/daunorodo.html
直接ダウンロード :http://www.geocities.jp/dfgkthug/MDBsakusei.lzh
解決したなら、別で質問したほうがいいのでは?。
>で、必ず、どこをどのように直せばいいかという返事をください。
>お願いします。
かなり、他人まかせの気がします。
そうなのですが、
実はどうしても、自分だけでは判断できない部分もあるのですが、
どうすれば、いいか分からなくて・・・
>かなり、他人まかせの気がします。
とはいっても、わずか、30分にして、このソフトの改良版が出来てしまいましたけど・・・
大幅に改良してしまいました。
このソフトはテーブルの追加が5つでしか出来ないのに対して、
改良版はテーブルの追加に制限がありませんから。
分かりました。
では、消しておきます。
自分でぼちぼち悪い部分を直しながら、使っていきます。
>とはいっても、わずか、30分にして、このソフトの改良版が出来てしまいましたけ>ど・・・
>大幅に改良してしまいました。
>このソフトはテーブルの追加が5つでしか出来ないのに対して、
>改良版はテーブルの追加に制限がありませんから。
わたくの頭では、理解しがたいのですが。
これは、なんのことを言っているのですが。
>実はどうしても、自分だけでは判断できない部分もあるのですが、
>どうすれば、いいか分からなくて・・・
ソースファイルが、あるならともかく、EXEファイルを実行し、
具体的に、何を判断するのかわからないのに、どこをどのように直せばいいかと
なんてわかりません。
見易さとか操作しやすさなどを判断してもらいたかったのですが、
やっぱり、自分で判断することにしました。
>見易さとか操作しやすさなどを判断してもらいたかったのですが、
>やっぱり、自分で判断することにしました。
それなら、質問しないほうが...
自分で判断することにしましたから、
質問はやめることにしたんです。
ツイート | ![]() |