0

これは完全な初心者の質問ですが、オンラインで解決策を見つけることができませんでした (少なくとも私の理解では何もありません)。テキストボックスとボタンでフォームを作成したいのですが、クリックすると、ボタンはテキストボックスに書き込まれた値を取得し、テーブルでその ID を持つ行を見つけて、属性を に変更する必要がありますunavailable。通常、単純な SQL ステートメントでこれを行います。

UPDATE table SET available='NO' WHERE id = *textbox.value*;

textbox.value の代わりに何を書くべきですか?

4

2 に答える 2

1

次の場合は、テキスト ボックスから値を取得するのがさらに簡単になります。

  • クエリは VBA から実行されます
  • VBA はテキスト ボックスと同じ形式です。

私が質問を正しく理解していれば、これはここに当てはまります。

次に、これを行うことができます:

Dim SQL As String

'case 1: when the id is a string value
SQL = "UPDATE table SET available='NO' WHERE id = '" & Me.NameOfTheTextBox & "';"

'case 2: when the id is a numeric value
SQL = "UPDATE table SET available='NO' WHERE id = " & Me.NameOfTheTextBox & ";"

CurrentDB.Execute SQL
于 2013-01-04T20:15:21.027 に答える
1

開いているフォームを参照できます。

UPDATE table SET available='NO' WHERE id = Forms!MyForm!MyTextbox

フォームがサブフォームではなくメイン フォームであると仮定します。VBA で SQL を実行することもできます。フォームとクエリまたはコードを同時に使用してレコードを更新しないように注意してください。

再コメント

この場合、問題は破損であり、私がよく注意することを忘れています。http://www.granite.ab.ca/access/corruptmdbs.htmには、Decompile を含む良い記事があります。

于 2013-01-04T18:10:32.323 に答える