掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
既に開いているフォームのデータを更新するには? (ID:108426)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ryさん nanashiさん ありがとうございます。 変数の宣言部分を見直す等、試行錯誤し修正してみました。 ただ、相変わらずデータグリッドは更新されません。。 ただその前に、form1で使用した接続情報が form2で使用できない点について、なんとか解決できないものかと 考えています。(これも理由の一つなような気がするので。) 関係する現時点のコードをUPいたします。 よろしければ一度見ていただけないでしょうか。 本当にあつかましいお願いで申し訳ございませんが なんとかしたいと考えています。 どうかよろしくお願いいたします。 ↓↓form1上のコード↓↓ Option Explicit Public cn As New ADODB.Connection Public rs As New ADODB.Recordset Public dbname As String 'Form1ロード時に接続 Private Sub Form_Load() dbname = GetDataSource() cn.ConnectionString = "provider = microsoft.jet.oledb.4.0;" _ & "Data Source =" & dbname cn.Open Call refreshdata End Sub 'データグリッドの更新処理 Public Sub refreshdata() Dim mysql As String 'SQLステートメント mysql = " SELECT 交渉履歴.カード番号, 交渉履歴.交渉内容 From 交渉履歴 where 交渉履歴.カード番号 = '" & txtカード番号(0).Text & "'" rs.CursorLocation = adUseClient rs.Open mysql, cn, adOpenKeyset, adLockOptimistic Set dbgsub.DataSource = rs dbgsub.Columns("カード番号").Visible = False dbgsub.Columns("交渉内容").Width = 60 * 50 dbgsub.Refresh End Sub 'DataEnvironmentデザイナで取得したconnectオブジェクトと同期を取る為、 データソースを取得 Public Function GetDataSource() Dim startPos As Long Dim endPos As Long Dim skip As Long startPos = InStr(1, deMain.cnSalse.ConnectionString, "Data Source=", vbTextCompare) endPos = InStr(startPos, deMain.cnSalse.ConnectionString, ";", vbTextCompare) skip = Len("Data Source=") GetDataSource = Mid(deMain.cnSalse.ConnectionString, startPos + skip, endPos - (startPos + skip)) End Function 'レコードセットの更新 Public Sub rs_Requery() rs.Requery End Sub ↓↓form2上のコード↓↓ Private Sub Form_Load() Command1.Enabled = False End Sub 'データの追加処理 Private Sub Command1_Click() Dim rs As New ADODB.Recordset rs.CursorLocation = adUseClient >'下記のcnが使用できない。「コンテキストで閉じられているか無効です。」 rs.Open "交渉履歴", cn, adOpenDynamic, adLockOptimistic rs.AddNew rs![カード番号] = Form1.txtカード番号(0).Text rs![交渉内容] = Text1.Text rs.Update rs.Close Set rs = Nothing Set Form1.rs = Nothing 'form1のデータグリッドの更新処理 Call Form1.refreshdata Call Form1.rs_Requery Form1.dbgsub.Refresh Form1.Refresh End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.