指定したものだけレコードに新規追加

解決


たく  2006-07-06 21:55:29  No: 132230

vb5.0・access2000を使っております。

フォームに複数のテキストボックスがあり、その全テキストボックスに入力をしてクリックボタンを押せばレコードに新規追加をすることにしていますが、
これを条件だけ(全部ではなく、2個や3個のテキストボックスだけ)
入力してレコードに新規追加したければどのようにすればよいのでしょうか?


ペンギン  2006-07-06 22:07:22  No: 132231

テキストボックスをif文かなにかの判断でORを使ってみてはいかがでしょう?ひとつでも入力されていれば追加みたいな。
VB.NETはORだったか||だったかは忘れましたが。


ペンギン  2006-07-06 22:08:47  No: 132232

VB5だったんですね。VB5でもいけると思います。


たく  2006-07-06 22:22:28  No: 132233

ペンギンさん早速ありがとうございます。

実は追記で一番上のテキストボックスはIDで必ず指定してその他のテキストボックスを全部または条件だけレコードに新規追加したいのです。

コードは

If txtI.Text = "" Or txtN.Text = "" Or txtK.Text = "" Or
     txtT.Text = "" Then
   
    rs.AddNew
    rs.Fields("Id") = txtI.Text
    rs.Fields("氏名") = txtN.Text
    rs.Fields("かな") = txtKText
    rs.Fields("住所") = txtT.Text
    rs.Update
    
    End If
でためしたのですが、表示されませんでした。


ペンギン  2006-07-06 22:54:27  No: 132234

txtIとか型は何でしょうか?String?Integer?
それとtxt〜は変数に格納しておいた方が後々いいです。


たく  2006-07-06 23:02:58  No: 132235

ペンギンさんご返事ありがとうございます。

>txtIとか型は何でしょうか?String?Integer?
>それとtxt〜は変数に格納しておいた方が後々いいです。

txt〜は変数にしないといけないのでしょうか?

とりあえず新規追加として
    rs.AddNew
    rs.Fields("Id") = txtI.Text
    rs.Fields("氏名") = txtN.Text
    rs.Fields("かな") = txtKText
    rs.Fields("住所") = txtT.Text
    rs.Update
でも連結されているレコードに新規に追加されたのですが・・・・


ペンギン  2006-07-06 23:17:15  No: 132236

VB5の環境がないので推測で記述しますが、この条件でどうでしょう?
IDは必須ということなのでIDが空白でないときif文に入り次のif文でどれかが入力されていれば追加処理に入るという形でどうでしょう?
If Not txtI.Text = "" Then
    If Not txtN.Text = "" Or Not txtK.Text = "" Or Not txtT="" Then
        この中で追加処理
    End If
End If


たく  2006-07-06 23:41:19  No: 132237

ペンギンさん何度もありがとうございます。

   If Not txtI.Text = "" Then
    If Not txtN.Text = "" Or Not txtK.Text = "" Or Not txtT="" Then
   
    rs.AddNew
    rs.Fields("Id") = txtI.Text
    rs.Fields("氏名") = txtN.Text      ・・・この中で追加処理
    rs.Fields("かな") = txtKText
    rs.Fields("住所") = txtT.Text
    rs.Update
    
    End If
 End If
で実行したのですがやはりIDはかならずいれて氏名だけ入力をし新規追加をしても
表示されませんでした。
初心者なもので何から何まで説明していただきありがとうございます。
本当に感謝しています。


ペンギン  2006-07-06 23:55:39  No: 132238

追加はされるのですね?
表示というのがよくわかりません。どこに表示するのですか?


たく  2006-07-07 00:03:20  No: 132239

ペンギンさんご返事ありがとうございます。

新規追加はされていません。
もし追加されているならば連結しているレコードに表示されると思います。
また実行時、テキストボックスにレコードが存在するIDを入力するとすべてのデータが各テキストボックスに表示されるようになっています。
何度もすみません。


特攻隊長まるるう  2006-07-07 01:34:11  No: 132240

>もし追加されているならば連結しているレコードに表示されると思います。
>また実行時、テキストボックスにレコードが存在するIDを入力するとすべての
>データが各テキストボックスに表示されるようになっています。
客観的に見て、それは確証を得られていません。

問題の切り分けを行ってください。
>IDはかならずいれて氏名だけ入力をし
…で新規追加の処理が走ることと、
>表示されませんでした。
は別問題です。

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200606/06060081.txt
でも助言を受けていますが、ステップ実行してください。
デバッグ作業は自分で行ってください。

今回の質問では、
>    rs.AddNew
>    rs.Fields("Id") = txtI.Text
>    rs.Fields("氏名") = txtN.Text      ・・・この中で追加処理
>    rs.Fields("かな") = txtKText
>    rs.Fields("住所") = txtT.Text
>    rs.Update
で『新規に追加された』と発言されているわけですから、
このコードが実行されているかどうかだけ確かめてください。

実行されていれば更新されているという結論になり、そこで
終了です。表示されるかどうかは別問題となります。


たく  2006-07-07 01:37:20  No: 132241

特攻隊長まるるうさんご返事ありがとうございます。

デバッグ作業行ってみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加