質問

だから、私は情報の特定のフィールドを持つテーブルを更新するために使用する入力フォームを持っています。私は、レコードのIDが自動的にテキストボックスにまで来ています。私は、ボタンのクリックに(IDを除く)テーブルに追加する必要がある3つのテキストボックスを持っています。

Name
Date
Method

はフィールド名です。

As_Name
As_Date
As_Method

テキストボックスの名前です。

テーブル名がPOCであり、IDはPOC_ID(その自動番号)である。

これは、テーブルその形から来て少し別の「ポップアップ」形式で、と私は唯一の入力は相対になりたいので、私はテーブルにバインドされるように、これらのオブジェクト(テキストボックス)を望んでいませんので、既にオリジナルのフォームから選択されるPOC_IDする。

それでは、どのように私は1に、このために、VBAを記述しない)レコードがすでに2)上記のフィールドを(更新....存在していないことを確認してください)テキストボックス(上記)からのデータ入力を持ちます。私は、ボタンのクリックでこれを使用することができるようにしたい....

<時間>

EDITます:

実際には、一つのテーブルではない2です。私は(ただし、異なる情報)同じテーブルに情報を送信できるようにしたい2つの形式があります。このDBは、既に他の誰かによって建設されたと私はそれを引き継ぐためにdeamedされている知っています。

私は、追加情報が新しい要件に基づいて追加されるための第二の小さなポップアップフォームを追加する必要があります(私は他の1でこれを配置するために、文字通り何のところありません)。私はすでにそれを行われ、相対IDフィールドを追加する(この第二の「ポップアップ」フォームからばねれる)第一の形態を参照することが示唆オブジェクトのアプローチを使用しています。今、私は(上に挙げたものです)を入力するための3つの値を求めていたこの二小さなポップアップフォームを持っています。

ユーザーが情報に入ると、1が述べた(それがあるTripIDに対するテーブルに情報を保存し、「保存」をクリックするように、

私はただ単にフィールドで、テキストボックスをリンクする方法がわかりません上記)。私は、テーブルにデータを保存するために、テキストボックスを取得する方法を知っている唯一の方法は、私は新しいものを作成するときにビルダー/ウィザードを使用することです。

私は、保存ボタンを使用できるように、「クリック時」の方法で、テーブルに、フォーム上などのオブジェクト(テキストボックス、CMB、リスト)をリンクする方法を学習したいと思います。基本的にはそれはそれです!

役に立ちましたか?

解決

は、まだわからない私はあなたの状況を理解しますが、私は答えの概要を提供してみましょう。私の輪郭が十分に近接していない場合、私は道に迷ってどこに行った、説明してくださいます。

あなたの親フォーム、frmParentは、あなたが現在frmParentに表示されているレコードで3つの追加フィールドに値を入力するコマンドボタン子フォームが開きます(cmdMoreFields)(frmChildで)を持っています。ユーザーは(As_Name、As_Date、およびAs_Methodという名前のテキストボックスコントロールに)frmChildでのそれらの値を入力した後、彼女はテーブルのPOCのフィールド(名前、日付、およびメソッド)にこれらの値を保存するために、コマンドボタン(cmdSave)をクリックし、します近くfrmChildで。また、frmParentは、現在のレコードの主キー(テーブルPOCのフィールドpk_field)の値を保持するテキストボックス(txtPk_field)を含む。

しかし、私はあなたがtxtPk_fieldのために使用しているどのフィールド/コントロールわからない、と現在のレコードが保存されていない場合、その値が利用可能である疑い。だから、私は、イベント「クリックオン」cmdMoreFieldsため、このコードを勧めます:

If Me.Dirty Then Me.Dirty = False
DoCmd.OpenForm "frmChild"

(frmChildでの)cmdSaveの "クリックオン" イベントでは、のようなコードを試してみます:

Dim strSql As String
strSQL = "UPDATE POC SET [Name] = """ & Me.As_Name & """, [Date] =#" _
    & Me.As_Date & "#, Method = """ & Me.As_Method & """ WHERE pk_field = " _
    & Forms!frmParent.txtPk_field & ";"
Debug.Print strSql
CurrentDb.Execute strSql, dbFailOnError
DoCmd.Close
そのアプローチが機能する場合は、

、Remouが示唆されているように、OpenargsでfrmChildでするpk_field値を渡すことを検討します。

注:私は名前のデータ型がテキストであると仮定、日付、日付/時間であり、この方法はテキストです。あなたは、データの種類私の推測と異なる任意のフィールドのUPDATE文の区切り文字を変更する必要があります。

他のヒント

のDoCmdのOpenForm方法はとOpenargsを含むいくつかの引数を可能にします。あなたはこれらを活用することができます。

あなたは2つの表にしていない規定された理由と同じ情報を保持しているように見えるという点で、

しかし、何かがあなたのテーブルのデザインとはかなり間違っていると思われます。あなたは http://www.r937.com/relational.htmlするを読むことがありますか?

私はあなたがおそらく必要なデザインは本体のみのテーブルへの外部キーである数値フィールドPOC_IDが含まれていることを示唆しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top