プロが教える店舗&オフィスのセキュリティ対策術

テキストボックスの値の代入をさせたい下記

例1
Aのテキストボックス Is not Null
Bのテキストボックス null

結果
Cのテキストボックス OK

例2
Aのテキストボックス null
Bのテキストボックス null

結果
Cのテキストボックス NG

例3
Aのテキストボックス Is not Null
Bのテキストボックス Is not Null

結果
Cのテキストボックス NG

A 回答 (5件)

一応、パターンからして、


要するに以下のようなことがしたいのだろうと。
Cのフォーカス取得時のイベントで、

Private Sub C_Enter()
If Not IsNull(Me!A) Then
If IsNull(Me!B) Then
Me!C = "OK"
End If
End If
If IsNull(Me!A) Then
If Not IsNull(Me!B) Then
Me!C = "OK"
End If
End If
If IsNull(Me!A) Then
If IsNull(Me!B) Then
Me!C = "NG"
End If
End If
If Not IsNull(Me!A) Then
If Not IsNull(Me!B) Then
Me!C = "NG"
End If
End If
End Sub
    • good
    • 0

何で私が、No.1の質問をしたかというと…



これ、XOR(排他的論理輪)で簡単に結果が出る問題じゃないかと思ったからです。

C = A XOR B

です。

もし、A=Null B= Not Null → C=OK ならね。
そうでなければ、if文。
    • good
    • 0

参考で。



A,Bのどちらかに値があればOK、の意図ですね?。
これと仮定したとき、
例えば、
ともに1バイトしかないエリアであれば、
「Aのテキストボックス」&「Bのテキストボックス」と連結させた値で
=1ならOK、=0や=2はNG
ともに2バイトしかないエリアであれば、
「Aのテキストボックス」&「Bのテキストボックス」と連結させた値で
=2ならOK、=0や=1、=3、=4はNG
「連結させた文字長/2=1項目分の長さ」
とすれば判断可能かもしれません。
非連結の項目を用意してみては?。
もちろん
IFで判定しても4パターンしかないですからなんとかなります。

対応は、論理演算式を想定していますか?。
    • good
    • 0

詳細がかかれていないので分かりにくいですが、何かの操作をキーとして、VBAで上記のような処理を行いたいということでしょうか?



それでしたらIF文の組み合わせで判定するのが一番良いかと思います。

例文を書ければと思いましたが、
A null
B not null
のパターンについて書かれていないので書けませんでした。

出来れば、こうした質問をする際にも、何で、どういう条件を出したいか、
ある程度文章に書き起こしていただけると答えやすいです。
    • good
    • 0

Aがnullで、BがIs Not Nullだったらどうなるんですか?

この回答への補足

お返事ありがとうございます
ifで調べればいいのですか?

補足日時:2010/12/07 22:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています