- ベストアンサー
VBに関するエラー
- VBに関するエラーが発生しました。エラーメッセージ「オブジェクトが必要」が表示されます。
- 「mysql2」の箇所で、「mysql3」のレコードを利用したい場合、「RSOUT3.record」をそのまま使用するとエラーが発生します。
- 質問者は、「mysql2」で「mysql3」のレコードを使用するためにどのようにすれば良いか質問しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その他の回答 (1)
関連するQ&A
- 【VB】データグリッドコントロールにデータベースを表示させたい
お世話になります。 フォーム上にMicrosoft DataGrid Control 6.0(OLEDB)を置いて、 データベースと接続し、データベースを表示させたいのですが、 データベースエンジンがMicrosoft.Jet.OLEDB3.51だとうまく表示してくれますが 4.0だとなぜか表示してくれません。 原因、対策などわかるでしょうか? ソースは以下のように単純なものです。 Private cn As ADODB.Connection Private rs As ADODB.Recordset Private Sub Form_Load() Set cn = New ADODB.Connection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\パスワード管理.mdb" cn.Open Set rs = New ADODB.Recordset rs.Open "パスワード", cn, adOpenStatic, adLockReadOnly Set DataGrid1.DataSource = rs End Sub
- ベストアンサー
- Visual Basic
- DataGridに表示されない
VB6でMySQL4.1に接続して MySQL内にあるデータベース"sample"の テーブル"総合"をDataGridに表示したいのですが できません。 エラーメッセージは "実行時エラー '7004': 行セットにはブックマークを設定できません" とでます。 どうしたら表示されるのでしょうか? Private Sub form_load() Dim cn As ADODB.Connection 'オブジェクト Dim rs As ADODB.Recordset 'データベースに接続 Set cn = New ADODB.Connection 'データベース:Sheet1 cn.ConnectionString = "Provider=MSDASQL.1;" _ & "Data Source=sample" cn.Open 'レコードセットの取得 Set rs = New ADODB.Recordset rs.ActiveConnection = cn rs.Source = "総合" rs.CursorType = adOpenStatic rs.LockType = adLockOptimistic rs.Open Set DataGrid1.DataSource = rs End Sub
- ベストアンサー
- Visual Basic
- <VB6.0+SQLServer2000>Image型のバイナリデータを表示したい
こんにちは。 VB6.0+SQLServer2000で開発を行っています。 Image型の項目を用意して、PictureBoxなりなんなりに表示したいのですが、バイナリデータの変換方法がわかりません。 どなたか教えてください。 とりあえず、今はこんなかんじでPG書いてます。 =============================================== Private Sub Command1_Click() Dim rs As adodb.Recordset Dim mstream As adodb.Stream Dim strSql As String On Error GoTo Err_Command1_Click strSql = "select * from 車体画像 where 整理番号='00000001'" Set rs = New adodb.Recordset rs.Open strSql, cn, adOpenKeyset, adLockOptimistic Set mstream = New adodb.Stream mstream.Type = adTypeBinary mstream.Open mstream.Write rs.Fields("画像データ").Value 'ここからどうすればいいのか分かりません… Exit Sub Err_Command1_Click: MsgBox Error End Sub
- ベストアンサー
- Visual Basic
- BeforeUpdateのADOの記述でエラー
Access VBAです。 フォームの対象商品コードを入力後、他の項目にカーソルを移動すると 実行時エラー'91' オブジェクト変数またはWithブロック変数が設定されていません。 というメッセージが表示され、 rs.Open "商品T", cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect が黄色くなります。 コーディングは、以下の通りです。 Option Compare Database Option Explicit Private cn As ADODB.Connection Private rs As ADODB.Recordset Private Sub Form_Load() 'フォームの読み込み時 Set cn = CurrentProject.Connection 'DB接続 End Sub Private Sub 対象商品コード_BeforeUpdate(Cancel As Integer) rs.Open "商品T", cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect Set rs = New ADODB.Recordset rs.Index = "PrimaryKey" rs.Seek 対象商品コード, adSeekFirstEQ If rs.EOF Then MsgBox ("該当する商品は存在しませんでした。") Else 対象商品名.Caption = rs!商品名 End If End Sub
- ベストアンサー
- その他(プログラミング・開発)
- INSERT INTOステートメント構文エラー
はじめまして。 急遽VB6.0、Accessで開発を行うことになりまして、小さなアプリを練習がてら作成したのですが、上記エラーが出てしまい、困っています。当方まったくの初心者で本を片手にコーディングしております。。 機能:CSVからデータを取り出して、DBにINSERTする コード Private cn As New ADODB.Connection Private Rs As New ADODB.Recordset Private Sub フォームフッター_Click() End Sub Private Sub トグル27_Click() Dim filPath As String ' [ファイルを開く]ダイアログ WizHook.Key = 51488399 damy = WizHook.GetFileName(0, "", "", "", filPath, "", "すべてのファイル (*.*)|*.*", 0, 0, 0, True) Me!fp = filPath WizHook.Key = 0 End Sub Private Sub トグル28_Click() Set cn = CurrentProject.Connection Open Me!fp For Input As #1 Dim varData As Variant Dim buf As String Dim a As String Dim b As String Dim c As String Do Until EOF(1) Line Input #1, buf varData = Split(buf, ",", , vbTextCompare) Dim mySql As String a = varData(0) b = varData(1) c = varData(2) MsgBox a MsgBox b MsgBox c mySql = "INSERT INTO COUNT(f,s,t) VALUES ('" & a & "','" & b & "','" & c & "')" Debug.Print mySql cn.Execute (mySql) MsgBox "更新されました。" Loop Close #1 cn.Close End Sub テーブル: フィールド名 f,s,t すべてテキスト型 イミディエイトウィンドウ表示内容:INSERT INTO COUNT(f,s,t) VALUES ('1','2','3') 恐れ入りますが、ご教授いただければ幸いです。 よろしくお願いします!
- ベストアンサー
- Visual Basic
- ACCESS SQLで複数データ表示させるには?
*************************************************** Private Sub Form_Load() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Set cn = CurrentProject.Connection mySQL = "select * from テーブル" rs.Open mySQL, cn, adOpenForwardOnly, adLockOptimistic ’コントロールに代入 Me.No = rs![No] Me.項目 = rs![項目] ・・・ End Sub *************************************************** こんな感じで、クエリでなくSQLで フォームにテーブルの全レコードを表示させたい場合、 どのようにすればよいのでしょうか? 上の文には、何が不足しているのでしょうか? http://www.accessclub.jp/ado/09.html を見ましたが、解決できませんでした。
- ベストアンサー
- オフィス系ソフト
- ADO1とADO2は意味は同じですか?
Private Sub ADO1() Dim cn As New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & CurrentProject.FullName cn.Close: Set cn = Nothing End Sub Private Sub ADO2() Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & CurrentProject.FullName cn.Close: Set cn = Nothing End Sub は、 Dim cn As ADODB.Connection Set cn = New ADODB.Connection を簡素化したものが Dim cn As New ADODB.Connection になるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 【VBA】アタッチとデタッチについての認識
VBAを勉強中の者です。カテ違いならすいません。 ******************************************************* Sub test1() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open "Provider=SQLOLEDB;Data Source=localhost\SQLEXPRESS; " & _ "Initial Catalog=" & データベース名 & ";" & _ "Integrated Security=SSPI" rs.Open "テーブル1", cn, adOpenStatic, adLockOptimistic MsgBox rs.RecordCount rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub ******************************************************* このコードで アタッチは「Set cn = New ADODB.Connection」、 デタッチは「cn.Close: Set cn = Nothing」 になりますか? ご教授よろしくお願い致します。
- 締切済み
- Visual Basic
- AccessVBAで「このフィールドに入力した値が正しくありません」というエラー
以下のようなコードを書いて実行しているのですが、 下から5行目のところで 「このフィールドに入力した値が正しくありません」というエラーが出てしまいます。 いろいろと調べたのですが、原因が全く分かりません。 どこを直せばいいのか、 又は、どんなところを調べるべきか、知識のある方、教えていただけないでしょうか。 Private Sub cboF_新規契約登録_ヘッダ管理番号選択_Change() Dim cn As ADODB.Connection Dim rs1 As ADODB.Recordset Dim rs2 As ADODB.Recordset Dim MySQL As String '接続 Set cn = CurrentProject.Connection '定期取引ヘッダ レコードセット取得 Set rs1 = New ADODB.Recordset ' '画面上にデータをフィル 'SQL作成 MySQL = "select * from Q_F_新規契約登録_定期取引ヘッダ内容抽出" MySQL = MySQL & " where 会社コード = '" & [Forms]![F_TOP]![会社選択] & "'" MySQL = MySQL & " and ヘッダ管理番号 = " & Me!txtF_新規契約登録_ヘッダ管理番号 MySQL = MySQL & " and LOCAL_補助科目マスタ.科目コード = '3311'" 'Open rs1.Open MySQL, cn, adOpenStatic, adLockReadOnly rs1.Find "ヘッダ管理番号 = " & Val(txtF_新規契約登録_ヘッダ管理番号) 'フィル Me!txtF_新規契約登録_引落額 = rs1!引落額 '<=ここでエラー rs1.Close: Set rs1 = Nothing 'コネクションクローズ cn.Close: Set cn = Nothing End Sub
- ベストアンサー
- オフィス系ソフト
- VB.NET初心者です。
お世話になります。 開発環境はWinXP Pro、VisualStudio2008 Pro になります。 ADOでSQLSERVERに接続しようと思っているのですが「comexceptionはハンドルされませんでした」とのエラーが出ます。 どの部分が間違っているのかわかりません。 どなたか御教授いただけないでしょうか? *************************************************** 以下コードです。 Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Load ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' ' ' ' ' Jobの一覧を表示 ' ' ' ' ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '************************************************************' ' 初期処理 '************************************************************' Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim MySQL As String '************************************************************' ' コネクション 接続開始 '************************************************************' cn = New ADODB.Connection cn.ConnectionString = _ "Provider=SQLOLEDB;" _ & "Server=anp_sqlserver; " _ & "database=" & "PC固定資産管理システム;" _ & "UID=sa; " _ & "Password=''" cn.Open() '************************************************************' ' レコードセット 接続開始 '************************************************************' rs.CursorLocation = ADODB.CursorLocationEnum.adUseServer rs.CursorType = ADODB.CursorTypeEnum.adOpenForwardOnly rs.LockType = ADODB.LockTypeEnum.adLockPessimistic MySQL = "select * " _ & "from [TA0002_原価計算グループマスタ]" rs.Open(MySQL, cn, ADODB.CursorTypeEnum.adOpenKeyset, _ ADODB.LockTypeEnum.adLockReadOnly) '************************************************************' ' 終了処理 '************************************************************' rs.Close() cn.Close()
- 締切済み
- Visual Basic
お礼
ご回答、ありがとうございました。 複数ネストすることはできないですか、勉強になりました。またよろしくお願いいたします。