私はdbを作るのが初めてです。これまでのところ、フォームは好きなように設定されていますが、バインドされている値はありません。テーブルを切り替える必要があります (最初のテーブルのすべてのフィールドを 2 番目のテーブルに追加することもできますが、私がこれを自分でやっているポイントは学習でした)。
私は2つの問題に遭遇しました。
まず、フォームのレコードソースを myTable にすることをフォームに許可させるのに問題があります。理由がわかりません。それは十分に単純に思えます
form.RecordSource="myTable"
残念ながら、うまくいきません。これを行うと、myTable のフィールドにバインドされたテキスト ボックスに #error または #name? と表示されます。意図した値の代わりに。
これを修正するために、フォームのプロパティに移動し、コントロール ソースを次のように設定しました。
"SELECT * FROM myTable, myTable AS backup_1;"
それが何を意味するのかはわかりませんが、それが何かを機能させるために私がしなければならなかったことです。これは私の最初の問題です - どうすればデータベースを不正行為なしでフォームに「適切に」関連付け、参照を機能させることができますか? 私は今それを3つの異なる方法で行いました.1つはしばらく働いてから停止しました.1つは(form.recordSource=myTable)
単に機能しませんでした.もう1つは私が言及した最初の方法です. それらのすべてが私に問題を引き起こしています。
いずれにせよ、SELECT...
実際に動作するのに最も近いので、私は を使用しました。そこから、Unbound のままにしたくないテキスト ボックスを [myTable.FieldName] として設定したところ、機能しました。プログラムで [myTable.FieldName] を使用して、特定のレコードから特定のフィールドの情報を難なく取得することができました。問題は、これらのフィールドに保存されているデータをプログラムで編集できないように見えることです。
たとえば、次のようにします。
txtDisplayField1=[myTable.Field1]
正常に動作します。しかし、私が試してみると:
[myTable.Field1] = txtDisplayField1.text
実行時エラー 2448 が表示されます - 「このオブジェクトに値を割り当てることはできません。」(これまでで最も役立つエラー メッセージです。)
前に、フォームをテーブルに関連付ける際に、最初は機能していたが、何らかの理由で機能しなくなった方法が 1 つあります。もともと私はちょうどタイプしました:
form.recordsource = myTable
そしてそれはうまくいきました。かっこなしで Field1 などのように参照することで、フィールドを参照できました。金曜日に仕事を辞めた時点では機能していましたが(あえぎ-私は職業上のプログラマーではありません)、入社したときには機能しませんでした。これはおそらく、人間が可能な限り最も複雑な問題の説明です...大変感謝しています。