VBを使ってデータベースプログラムを作りました。データベースはAccessで作り、DataGrid上に現れるようにしています。
ところが、これをパッケージしてフロッピーに落とし、他のパソコンに適切にインストールしたうえで実行してみたのですが、データベースを読み込むことができません。
Accessのファイルもパッケージ時にCabファイルに落とし込んでいるのですが・・・。
どのような原因が考えられるでしょうか??

このQ&Aに関連する最新のQ&A

A 回答 (4件)

データベースに関しては他のPCには


ODBC関連の設定が出来てないかも知れません。
コントロールパネルからODBCを開き、そこでDSNなどの
設定を確認してみて下さい。

あと、DataGridそのものが表示されない、ということは
ないでしょうか?
その場合は、MSFlexGrid.OCXとかそんな名前のOCXファイルを
目的のPCにインストールする必要があります。
インストールはregsvr32 (OCXファイル)で行けます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
1月5日より会社が始まるので、そこで皆様に指摘いただいた事項をチェックしてみたいと思います。
ありがとうございました。

お礼日時:2001/01/03 11:50

他のパソコンには、DAOがインストールされていないのかも…

    • good
    • 0

MDBファイルにはどのようにしてアクセスしているのでしょうか?


ADO?DAO?
インストール先にはインストールされていますか?または使用したいドライバのバージョンはあっているでしょうか?
確認してみてください。
    • good
    • 0

こんにちは。


一応考えられる要因としては、
1.VBのランタイムがインストールされていない。
 (そんなことは無いですよね?)
2.Access MDBの存在するフォルダーが間違っている。
 VB上で固定のフォルダーを指定している。
 または、ドライブが違っている。

すいません、素人なので、これくらいしか考えられません
でした。

ではでは・・・
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

Qcsvファイルを読み込んでデータベースのデータと比較して異なっていた場

csvファイルを読み込んでデータベースのデータと比較して異なっていた場合は更新するようにしたいと考えています。

csvデータ…10
データベースから取得したデータ…10.0
※比較するテーブルのフィールドのデータ型はFLOAT型です。

文字列を数値変換して比較、またはデータベースから取得したデータを文字列に変換して比較、どっちがいいのでしょうか。
またどのように比較すればいいのでしょうか。

くだらない質問かもしれませんが宜しくお願いします。

Aベストアンサー

No1の方が言いたいこと良くわかります。けして、質問の意味取り違えていませんよ。

>文字列を数値変換して比較、またはデータベースから取得したデータを文字列に変換して比

問題になるのは、対象となるデーターの背景です。何のデーターを対象としているかです。

例えば、計測又は計量したデーター10.10 と10.1 では意味が違いますね。10.10では100分の1まで計測したが100分の1は0だったという意味です。10.1は10分の1までの計測で、100分の1の値は不明と言うことです(又は四捨五入などの圧縮したデーター)。

数値的には同じ10.1ですが、何桁で扱うかが問題になります。DBでデーター型で扱う利点は、このような時に精度をそろえられるところにあります。文字列として扱ってしまうと、余計な(0と言う文字を追加)作業が出てくる場合もあります。

逆にそんなのどうでもいい、と言う場合もたくさんあり、ケースbyケースです。

文字列として"10.10" == "10.1"なるのかと言う問題ですね。これを==で結びたいときは数値として扱うべき、そうでない時は文字列として扱うと簡単です。

と言うことで回答はケースbyケースです。

No1の方が言いたいこと良くわかります。けして、質問の意味取り違えていませんよ。

>文字列を数値変換して比較、またはデータベースから取得したデータを文字列に変換して比

問題になるのは、対象となるデーターの背景です。何のデーターを対象としているかです。

例えば、計測又は計量したデーター10.10 と10.1 では意味が違いますね。10.10では100分の1まで計測したが100分の1は0だったという意味です。10.1は10分の1までの計測で、100分の1の値は不明と言うことです(又は四捨五入などの圧...続きを読む

Q【VB】データグリッドに読み込んだテーブルの変更を元のデータベースに反映させたい

VB歴6ヶ月です。
VBのバージョンは2005です。


mdbから読み込んだデータベースをデータグリッドビューコントロールで表示しました。

CNには接続パスが入っていてmdbとの接続は確立しています。
データグリッドビューコントロールのオブジェクト名はDGVです。
読み込むテーブル名はt社員マスターです。

Private sub メンテナンス()

Dim DS As DataSet = New DataSet("社員マスター")
Dim SQL As String = "SELECT * FROM t社員マスター"
Dim DA As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(SQL, CN)

DA.Fill(DS, "社員マスター")

Dim DV As DataView = New DataView(DS.Tables("社員マスター"))

DGV.DataSource = DV

End sub

これでグリッドに読み込ますことはできたのですが、
読み込んだデータをグリッド上で変更したら元のデータベースにも反映したいのですが
やり方がわかりません ><

具体的なコード、やり方を教えていただけたらありがたいです。

VB歴6ヶ月です。
VBのバージョンは2005です。


mdbから読み込んだデータベースをデータグリッドビューコントロールで表示しました。

CNには接続パスが入っていてmdbとの接続は確立しています。
データグリッドビューコントロールのオブジェクト名はDGVです。
読み込むテーブル名はt社員マスターです。

Private sub メンテナンス()

Dim DS As DataSet = New DataSet("社員マスター")
Dim SQL As String = "SELECT * FROM t社員マスター"
Dim DA As OleDb.OleDbDataAdapt...続きを読む

Aベストアンサー

こんにちは。

CommandBuilderを発行しておけば更新が簡単です。

Dim OleCB As Data.OleDb.OleDbCommandBuilder
これを更新するタイミングでも使えるようにデーターグリッドビューのあるフォームのクラスの先頭に入れます。

OleCB = New Data.OleDb.OleDbCommandBuilder(DA)
これをPrivate sub メンテナンス()の最後に入れます。

更新するタイミング、例えばフォームを閉じる時だとするとClosingかClosedイベントに

DA.Update(DS, "社員マスター")
と入れます。

これで更新されるはずです。

どうでしょうか。

QVBにアクセスのデータベースを読み込みたい(変数の定義)

こんにちわM(__)M
VB超初心者です・・・

一度テキストにそってアクセスのデータベースをVBで読み込んで、リストを表示したり・・・データを削除したり・・・といったものを作ったことがあるのですが、だいぶ忘れてしまいました。
(SQLというんでしたっけ?)

読み込んでからの処理はこれからいろいろヘルプなので調べていけば解決すると思うのですが、まず読み込む段階ではじめに変数の定義をしますよね?

どうやらその変数の定義ができていないらしく、「ユーザー型変数の定義がされていません」といったエラーがでます(実行時)

Public wspace As Workspace

のWorkspaceが確かに青くなりません。


以前はこれを解決するために、コンポーネントの追加?みたいのでなにか機能を追加したような気がするのですが(人に聞いてやったのテキストがありません・・・)どの機能を追加したのか、思い出せないのです><


この変数の定義さえできれば後は進んでいけると思いますので、この点だけ教えていただきたいです。
またはアクセスデータベースを読み込む解説みたいのがのっているサイトがありましたら教えていただきたいです。(初心者でも理解できるもので)

よろしくお願いしますM(__)M

こんにちわM(__)M
VB超初心者です・・・

一度テキストにそってアクセスのデータベースをVBで読み込んで、リストを表示したり・・・データを削除したり・・・といったものを作ったことがあるのですが、だいぶ忘れてしまいました。
(SQLというんでしたっけ?)

読み込んでからの処理はこれからいろいろヘルプなので調べていけば解決すると思うのですが、まず読み込む段階ではじめに変数の定義をしますよね?

どうやらその変数の定義ができていないらしく、「ユーザー型変数の定義がされていません」とい...続きを読む

Aベストアンサー

VBのメニューから「プロジェクト」「参照設定」の中から「Microsoft DAO 3.* Object Library」にチェックして「OK」でいいのでは?それから、質問のときは開発環境も記入したほうがいいですよ。

QACCESSを用いたデータベースでのコンボボックスの連動

おせわになっております。

VBでデータベースを作っているのですが、
コンボボックスでの検索での絞込みがうまくいきません。
(データベースはAccess2000)

例えば、コンボボックス1で選ばれたファールドにより
絞込みが行われ(例:県選択:千葉県)
、コンボボックス2で表示するレコードは
コンボボックス1で選択されたレコードに該当するものしか表示しないようにするというとです。(例:市選択:市川市.船橋市.浦安市・・・と絞り込まれる)

どこかおかしい個所はありますでしょうか??
(個人的にはdbc1が選択された時点でdbc2のクエリーが行われなければならないと思いますが、やり方がわかりません。
よろしくお願い致します。

adoデータコントロールのプロパティ
ado1(県名選択)
RecordSource:SELECT 県名 FROM 地名
ado2(市名選択)
RecordSource:SELECT 市名 FROM 地名 WHERE 県名='dbc1.Text'

Private Sub dbc1_Click(Area As Integer)'県を選択するコンボボックス
Dim criteria As String ' 検索条件

If dbc1.Text = "" Then
Exit Sub
End If

criteria = "県名 = '" & dbc1.SelText & "'"

rs.MoveFirst
rs.Find criteria, , adSearchForward


End Sub


Private Sub dbc2_Click(Area As Integer)'市を選択するためのコンボボックス
Dim criteria2 As String ' 検索条件

If dbc2.Text = "" Then
Exit Sub
End If

criteria2 = "メーカ = '" & dbc2.SelText & "'"

rs.MoveFirst
rs.Find criteria2, , adSearchForward

End Sub

おせわになっております。

VBでデータベースを作っているのですが、
コンボボックスでの検索での絞込みがうまくいきません。
(データベースはAccess2000)

例えば、コンボボックス1で選ばれたファールドにより
絞込みが行われ(例:県選択:千葉県)
、コンボボックス2で表示するレコードは
コンボボックス1で選択されたレコードに該当するものしか表示しないようにするというとです。(例:市選択:市川市.船橋市.浦安市・・・と絞り込まれる)

どこかおかしい個所はありますでしょうか??
(個...続きを読む

Aベストアンサー

ちゃんと確認しないで回答しててすみませんでした(汗

dbc1_Clickプロシジャ内のrs検索後に下記をやってみて下さい

criteria = "SELECT 市名 FROM 地名 WHERE 県名='" & Trim(dbc1.Text) & "'"

ado2.RecordSource = criteria

ado2.Refresh

ではでは

QDataGridにデータセットのデータを入れたい

VB.Netで困っております。ご教授いただけないでしょうか。

DataGridオブジェクトにデータセットのデータを表示する際,テーブル上の全データを表示するのではなく,ある条件で絞ったデータを表示するにはどうしたら良いのでしょうか?

よろしくお願い致します。

Aベストアンサー

全取得はすでにできているものとして、以下にサンプルを書きます。
データセットを絞り込んで、新たにデータセットを作成する方法です。


Dim l_dstData全取得 As DataSet   '//テーブルのデータ全取得データセット
Dim l_dstRow絞込 As DataRow     '//条件を絞って取得したデータロウ
Dim l_dstData絞込 As DataSet    '//条件を絞って取得したデータセット

'全データを取得したデータセットを得る(FILLはこの関数の中ですでに行っているものとします)
l_dstData全取得 = テーブル全取得関数()

'データセット構造をコピる
l_dstData絞込 = l_dstData全取得.Clone

'条件で絞りデータロウループを行う
For Each l_dstRow絞込 In l_dstData全取得.Tables(0).Select("FLD1 <> 'あ' and FLD2 IS NULL")
  '取得したデータロウを取り込む
  l_dstData絞込.Tables(0).ImportRow(l_dstRow絞込)
Next

'「l_dstRow絞込」をグリッドへバインドする

全取得はすでにできているものとして、以下にサンプルを書きます。
データセットを絞り込んで、新たにデータセットを作成する方法です。


Dim l_dstData全取得 As DataSet   '//テーブルのデータ全取得データセット
Dim l_dstRow絞込 As DataRow     '//条件を絞って取得したデータロウ
Dim l_dstData絞込 As DataSet    '//条件を絞って取得したデータセット

'全データを取得したデータセットを得る(FILLはこの関数の中ですでに行っているものとします)
l_dstData全取得 = テーブル全取得...続きを読む


人気Q&Aランキング

おすすめ情報