Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルDAOでリンクテーブルデータ更新時にエラー3219
記事No10708
投稿日: 2011/03/29(Tue) 15:17
投稿者shin
解決済: ON
OS:WindowsXP
Access Version:2003

よろしくお願いします。
文書登録DBを作成中です。
入力フォーム上でのエラーについて教えてください。
DB構造としては、データデーブルと、キーワードテーブルはリンクテーブルになっています。

入力、閲覧、変更は各ユーザーのデスクトップ上で動くようにして、
ネットワーク上にテーブルのみのファイルにリンクさせています。

情報を入力するフォームで、キーワードを入力するテキストボックスがあり、
登録ボタン(コマンドボタン)を押すことによって、
スペース区切りになっているキーワードを分解して、一つ一つを
「キーワードテーブル」というテーブルに入力する処理をしています。
入力フォームのレコードソースは「ドキュメントデータテーブル」というテーブルです。
下記コードの←部分でエラーが出ます。

「エラー3219 無効な処理です」

と出ます。
リンクテーブルではない場合は、このコードでうまくいくのですが…

ご助言お願いします。

Private Sub Keyword_AfterUpdate()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim Dic As Object
Dim Var As Variant

Set db = CurrentDb
Set rs = db.OpenRecordset("キーワードテーブル", dbOpenTable) ←ここでエラー
Set Dic = CreateObject("Scripting.Dictionary")
Do Until rs.EOF
Dic.Add rs!Keyword_txt.Value, Null
rs.MoveNext
Loop

For Each Var In Split(Me!Keyword, " ")
If Dic.Exists(Var) Then
Else
rs.AddNew
rs!Keyword_txt = Var
rs.Update
End If
Next Var
rs.Close: db.Close
End Sub

タイトルRe: DAOでリンクテーブルデータ更新時にエラー3219
記事No10710
投稿日: 2011/03/30(Wed) 08:55
投稿者Hank
解決済: ON
>  Set rs = db.OpenRecordset("キーワードテーブル", dbOpenTable)   ←ここでエラー

   Set rs = db.OpenRecordset("キーワードテーブル", dbOpenDynaset) 
あるいは
  Set rs = db.OpenRecordset("キーワードテーブル") 'dbOpenDynasetが既定値

ですね。

タイトルRe^2: DAOでリンクテーブルデータ更新時にエラー3219
記事No10711
投稿日: 2011/03/30(Wed) 09:18
投稿者shin
解決済: ON
リンクテーブルではダイナセットタイプのRecordset オブジェクトということですね。

やってみたら、解決しました。
今後、Recordsetについてもう少し勉強します。

ありがとうございました!

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る