ADOをコードしてUpdate、Deleteするには


とも  2002-11-02 19:23:33  No: 76313

今、ADOをコードで設定してプログラムを作成しているのですが、どうしても、UpdateとDeleteをしようとすると、「キーフィールドがNull」というエラーがでます。コードも何度もチェックしましたし、データベース(アクセス2000)のほうもフィールドをチェックしたりしましたが、問題はないのです。一体何が原因で、どのようになおせばいいのでしょうか?

まずフォームロードイベントで以下のように設定(テキストボックス以外にコンボボックスにデータをロードしてます)

Dim strSQL As String

 Set conVideo = New ADODB.Connection
 Set rsVideo = New ADODB.Recordset
 
 strSQL = "SELECT Studio.[Studio Name], Video.[Movie Number]," & _
          "Video.Title, Video.Category, Video.Length " & _
          "FROM Studio INNER JOIN Video ON Studio.[Studio ID] = Video.[Studio ID]"

 With conVideo
     .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Persist Security Info=False;Data Source = " & App.Path & _
               "VBVideo2000.mdb;Mode = readwrite"
    
    .Open
 End With
 With rsVideo
      .CursorLocation = adUseClient
      .Open strSQL, conVideo, adOpenDynamic, adLockOptimistic, adCmdText
 End With
 
 Call AssignData
 With rsVideo
  Do Until .EOF
   If ![Movie Number] <> "" Then
    cboNum.AddItem ![Movie Number]
    cboTitle.AddItem !Title
    cboStudio.AddItem ![Studio Name]
    cboCategory.AddItem !Category
   End If
   .MoveNext
 Loop
 .MoveFirst
End With

そしてAddコマンドボタンで
rsVideo.AddNew

として、Saveコマンドボタンで
rsVideo.Update

としています。Deleteも同様です。
考えられる、原因はなんでしょうか?


魔界の仮面弁士  2002-11-22 22:42:52  No: 76314

> 今、ADOをコードで設定してプログラムを作成しているのですが、どうしても、
> UpdateとDeleteをしようとすると、「キーフィールドがNull」というエラーがでます。

以下を参照してみてください。(別の掲示板ですが、同じ質問への回答です)

http://koz.homeip.net/bbs/show.asp?bodyid=1914


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加