Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1809 / 2272 ツリー ←次へ | 前へ→

【5169】都道府県のチェック せいや 05/5/31(火) 12:14 質問[未読]
【5172】Re:都道府県のチェック 小僧 05/5/31(火) 13:41 回答[未読]
【5173】Re:都道府県のチェック たん 05/5/31(火) 13:48 発言[未読]

【5169】都道府県のチェック
質問  せいや  - 05/5/31(火) 12:14 -

引用なし
パスワード
   WindowsXP Pro
Access2003の環境です。

テキストボックスに住所を入力する欄を作って入力していますが
どうしても都道府県から”愛知県名古屋市…"のように入力したいと思います。

そこでiを住所ボックスのテキスト長までforでループさせて
都道府県のどれかの文字に該当したらエラーを表示するようにしてみました

作成した文は以下のとおりです。

Dim x As String
  Dim i As Integer
  
  For i = 1 To 4
    x = Left(Me!住所1, i)
    If x = "都" Or "道" Or "府" Or "県" Then
      Exit For
    Else
    End If
  Next
  MsgBox "住所は必ず都道府県から入力してください"

こんな感じで作ってみたのですが「型が一致しません」などのエラーが出てしまいます。
どのように修正しなければいけないのか教えていただければと思います。

【5172】Re:都道府県のチェック
回答  小僧  - 05/5/31(火) 13:41 -

引用なし
パスワード
   ▼せいや さん:
こんにちは。

>    If x = "都" Or "道" Or "府" Or "県" Then
→    If x = "都" Or x = "道" Or x = "府" Or x = "県" Then

>こんな感じで作ってみたのですが「型が一致しません」などのエラーが出てしまいます。

これで上記のエラーは回避できます!
が…。

現座のコードですと、「Me!住所1」が「東京都港区六本木」だとすると

>>i   x
>>1  東
>>2  東京
>>3  東京都
>>4  東京都港

となってしまいます。

Mid関数 か、Left関数 + InStr関数の組み合わせが良いと思われます!
が…。

>>>京都市左京区...
>>>水海道市...
>>>府中市...
>>>山県市...

などは左4文字の中に「都」「道」「府」「県」が出てきてしまいますよ…。

【5173】Re:都道府県のチェック
発言  たん  - 05/5/31(火) 13:48 -

引用なし
パスワード
   横から失礼。

余所でアップされている方と質問が同一なのですが、
そちらで解決したのであれば、そのむねをせめて
連絡しましょうよ。

1809 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078265
(SS)C-BOARD v3.8 is Free