vb5.0・access2000を使っております。
フォームに複数のテキストボックスがあり、その全テキストボックスに入力をしてクリックボタンを押せばレコードに新規追加をすることにしていますが、
これを条件だけ(全部ではなく、2個や3個のテキストボックスだけ)
入力してレコードに新規追加したければどのようにすればよいのでしょうか?
テキストボックスをif文かなにかの判断でORを使ってみてはいかがでしょう?ひとつでも入力されていれば追加みたいな。
VB.NETはORだったか||だったかは忘れましたが。
VB5だったんですね。VB5でもいけると思います。
ペンギンさん早速ありがとうございます。
実は追記で一番上のテキストボックスは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
でためしたのですが、表示されませんでした。
txtIとか型は何でしょうか?String?Integer?
それとtxt〜は変数に格納しておいた方が後々いいです。
ペンギンさんご返事ありがとうございます。
>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
でも連結されているレコードに新規に追加されたのですが・・・・
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
ペンギンさん何度もありがとうございます。
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はかならずいれて氏名だけ入力をし新規追加をしても
表示されませんでした。
初心者なもので何から何まで説明していただきありがとうございます。
本当に感謝しています。
追加はされるのですね?
表示というのがよくわかりません。どこに表示するのですか?
ペンギンさんご返事ありがとうございます。
新規追加はされていません。
もし追加されているならば連結しているレコードに表示されると思います。
また実行時、テキストボックスにレコードが存在するIDを入力するとすべてのデータが各テキストボックスに表示されるようになっています。
何度もすみません。
>もし追加されているならば連結しているレコードに表示されると思います。
>また実行時、テキストボックスにレコードが存在する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
で『新規に追加された』と発言されているわけですから、
このコードが実行されているかどうかだけ確かめてください。
実行されていれば更新されているという結論になり、そこで
終了です。表示されるかどうかは別問題となります。
特攻隊長まるるうさんご返事ありがとうございます。
デバッグ作業行ってみます。
ツイート | ![]() |