過去ログ

                                Page     521
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼別テーブルにレコードを追加  B-BOSS 04/2/28(土) 12:18
   ┗Re:別テーブルにレコードを追加  イケガミ 04/2/28(土) 12:56
      ┗Re:別テーブルにレコードを追加  B-BOSS 04/2/29(日) 10:34
         ┗Re:別テーブルにレコードを追加  イケガミ 04/2/29(日) 14:35
            ┗Re:別テーブルにレコードを追加  B-BOSS 04/2/29(日) 14:49
               ┗Re:別テーブルにレコードを追加  よろずや 04/2/29(日) 22:52
                  ┗Re:別テーブルにレコードを追加  B-BOSS 04/3/1(月) 22:43

 ───────────────────────────────────────
 ■題名 : 別テーブルにレコードを追加
 ■名前 : B-BOSS
 ■日付 : 04/2/28(土) 12:18
 -------------------------------------------------------------------------
   現在、開いてるデーターベースのAAAフォームにボタンを追加して
そのボタンをクリックすると、BBBのテーブルにレコードを追加できる
コードを書いたつもりですが、★の部分に「型が一致しません。」と言うメッセージが
でます。 なぜでしょうか? 教えてください。

   Dim myRs As Recordset
   Dim PA_ME As String
   
   PA_ME = Me.AAA商品.Text
     
★   Set myRs = CurrentDb.OpenRecordset("BBB")
    myRs.AddNew        
    myRs("BBB商品名") = PA_ME
    myRs.Update       
    myRs.Close
    

 ───────────────────────────────────────  ■題名 : Re:別テーブルにレコードを追加  ■名前 : イケガミ  ■日付 : 04/2/28(土) 12:56  -------------------------------------------------------------------------
   >なぜでしょうか? 教えてください。
バージョンが、2000か2002なのでは?

「ツール」→「参照設定」で、
Microsoft DAO3.X Object Library にチェックを入れて、

>   Dim myRs As Recordset
   Dim myRs As DAO.Recordset

>   PA_ME = Me.AAA商品.Text
   PA_ME = Me.AAA商品.Value

のように修正してください。

 ───────────────────────────────────────  ■題名 : Re:別テーブルにレコードを追加  ■名前 : B-BOSS  ■日付 : 04/2/29(日) 10:34  -------------------------------------------------------------------------
   ありがとうございました。
うまくいきました。Accessは2000を使用しています。
そこで更に質問です。

Recordsetの前に付けたDAO.って、どう言う意味ですか?


▼イケガミ さん:
>>なぜでしょうか? 教えてください。
>バージョンが、2000か2002なのでは?
>
>「ツール」→「参照設定」で、
>Microsoft DAO3.X Object Library にチェックを入れて、
>
>>   Dim myRs As Recordset
>   Dim myRs As DAO.Recordset
>
>>   PA_ME = Me.AAA商品.Text
>   PA_ME = Me.AAA商品.Value
>
>のように修正してください。

 ───────────────────────────────────────  ■題名 : Re:別テーブルにレコードを追加  ■名前 : イケガミ  ■日付 : 04/2/29(日) 14:35  -------------------------------------------------------------------------
   >Recordsetの前に付けたDAO.って、どう言う意味ですか?

Recordset オブジェクトは、DAO にも、ADO にもありますので、
どっちを使うのか書いておかないと、参照設定で、上位にあるほうが
使われてしまいます。

なので、宣言時に、DAO. をつけておくといいです。

 ───────────────────────────────────────  ■題名 : Re:別テーブルにレコードを追加  ■名前 : B-BOSS  ■日付 : 04/2/29(日) 14:49  -------------------------------------------------------------------------
   Access2000を使用しています。
実は受注と言うテープルが商品マスターと言うテーブルと連結しています。
商品マスターの"MS商品名"は受注テーブルの"商品名"と言うコンボボックスコントロールのリストとして利用します。
商品名コンボボックスにリスト以外のデーターを入力した際に、自動的にマスターテーブルに追加される様にしたかったのですが、うまくいきません。

下のコード何か問題ありますか??  

Private Sub 商品名_NotInList(NewData As String, Response As Integer)
 Dim PA_ME As String
 Dim myRs As DAO.Recordset
   PA_ME = Me.商品名.Text
   MsgBox (PA_ME)
      
   Set myRs = CurrentDb.OpenRecordset("商品マスター")
   myRs.AddNew      
   myRs("MS商品名") = PA_ME
   myRs.Update    
   myRs.Close

    Me.商品名.Requery
    DoCmd.GoToRecord , , acPrevious
End Sub

 ───────────────────────────────────────  ■題名 : Re:別テーブルにレコードを追加  ■名前 : よろずや  ■日付 : 04/2/29(日) 22:52  -------------------------------------------------------------------------
   >下のコード何か問題ありますか??  
>
>Private Sub 商品名_NotInList(NewData As String, Response As Integer)
> Dim PA_ME As String
> Dim myRs As DAO.Recordset
>   PA_ME = Me.商品名.Text
>   MsgBox (PA_ME)
>      
>   Set myRs = CurrentDb.OpenRecordset("商品マスター")
>   myRs.AddNew      
>   myRs("MS商品名") = PA_ME
>   myRs.Update    
>   myRs.Close
>
>    Me.商品名.Requery
>    DoCmd.GoToRecord , , acPrevious
>End Sub

新しい値は、NewData を使ってください。
Response に値を設定してください。
詳しくは、ヘルプを熟読してください。

 ───────────────────────────────────────  ■題名 : Re:別テーブルにレコードを追加  ■名前 : B-BOSS  ■日付 : 04/3/1(月) 22:43  -------------------------------------------------------------------------
   よろずやさん、回答、ありがとうございます。
Responseの件は理解できました。
しかし、NewDataを使うのは、どのコードの事を言うのですか?
Helpに"NewData"と入力して検索しても"キーワードがありません"
と言われてしまいます。
教えてください。


>新しい値は、NewData を使ってください。
>Response に値を設定してください。


>>下のコード何か問題ありますか??  
>>
>>Private Sub 商品名_NotInList(NewData As String, Response As Integer)
>> Dim PA_ME As String
>> Dim myRs As DAO.Recordset
>>   PA_ME = Me.商品名.Text
>>   MsgBox (PA_ME)
>>      
>>   Set myRs = CurrentDb.OpenRecordset("商品マスター")
>>   myRs.AddNew      
>>   myRs("MS商品名") = PA_ME
>>   myRs.Update    
>>   myRs.Close
>>
>>    Me.商品名.Requery
>>    DoCmd.GoToRecord , , acPrevious
>>End Sub
>
>新しい値は、NewData を使ってください。
>Response に値を設定してください。
>詳しくは、ヘルプを熟読してください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 521