Access VBA質問箱 IV

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

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


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

【11566】長さゼロの値をフォームに非表示にしたい VBA初心者 10/4/1(木) 17:06 質問[未読]
【11567】Re:長さゼロの値をフォームに非表示にしたい よろずや 10/4/1(木) 20:46 回答[未読]
【11568】Re:長さゼロの値をフォームに非表示にしたい VBA初心者 10/4/2(金) 8:47 質問[未読]
【11573】Re:長さゼロの値をフォームに非表示にしたい よろずや 10/4/3(土) 10:35 回答[未読]
【11574】Re:長さゼロの値をフォームに非表示にしたい VBA初心者 10/4/5(月) 9:00 お礼[未読]

【11566】長さゼロの値をフォームに非表示にしたい
質問  VBA初心者  - 10/4/1(木) 17:06 -

引用なし
パスワード
   いつもお世話になります。
 下記のように「testテーブル」のF列が重複している場合のデータをフォーム上に表示させようと
しております。
 F列に長さゼロの値が入っている場合は表示させないようにしたいのですが、実行すると
「構文エラー/演算子がありません」とエラーメッセージが表示されてしまいます。
 「'」でコメント化している記述を使うとエラーにはなりませんが、「長さゼロの値」も表示させれて
しまいます。
 表示させないようにするにはどのようにしたらよろしいでしょうか。
 
どうかご教授をよろしくお願いします。


Function frmRecSource() As String
  Dim strSQL As String
  
  Select Case Me.フレーム54
  Case 1
    strSQL = "select * " _
      & "from test_TABLE "
  Case 2
     strSQL = "select test_TABLE.[A], test_TABLE.[B], test_TABLE.[C], " _
      & "test_TABLE.[D], test_TABLE.[E], test_TABLE.[F], test_TABLE.[G], " _
      & "test_TABLE.[H], test_TABLE.[I] " _
      & "from test_TABLE " _
      & "WHERE (((test_TABLE.F) In (SELECT [F] FROM [test_TABLE] As Tmp GROUP BY [F] HAVING Count(*)>1 )) AND ((test_TABLE.F)<>""))""" _
      & "ORDER BY test_TABLE.F DESC "


    'strSQL = "select test_TABLE.[A], test_TABLE.[B], test_TABLE.[C], " _
    '  & "test_TABLE.[D], test_TABLE.[E], test_TABLE.[F], test_TABLE.[G], " _
    '  & "test_TABLE.[H], test_TABLE.[I] " _
    '  & "from test_TABLE " _
    '  & "WHERE (((test_TABLE.[F]) In (SELECT [F] FROM [test_TABLE] As Tmp GROUP BY [F] HAVING Count(*)>1 ))) " _
    '  & "ORDER BY test_TABLE.F "
  End Select
  
  Debug.Print strSQL
  frmRecSource = strSQL
  
End Function

【11567】Re:長さゼロの値をフォームに非表示にし...
回答  よろずや  - 10/4/1(木) 20:46 -

引用なし
パスワード
   試してないけど
AND ((test_TABLE.F)<>""""))" _

【11568】Re:長さゼロの値をフォームに非表示にし...
質問  VBA初心者  - 10/4/2(金) 8:47 -

引用なし
パスワード
   ▼よろずや さん:
>試してないけど
> AND ((test_TABLE.F)<>""""))" _


有難うございます。

AND ((test_TABLE.F)<>""""))"
にて成功しました。
 長さゼロ値でないは、クエリにて「<>""」でしたがVBAだと記述が変わるのでしょうか。
初心者的な質問で恐縮ですが、ご教授をお願いします。
 

--------------------------------VBAソース----------------------------------------------------------
Function frmRecSource() As String
  Dim strSQL As String
  
  Select Case Me.フレーム54
  Case 1
    strSQL = "select * " _
      & "from test_TABLE "
  Case 2
     strSQL = "select test_TABLE.[A], test_TABLE.[B], test_TABLE.[C], " _
      & "test_TABLE.[D], test_TABLE.[E], test_TABLE.[F], test_TABLE.[G], " _
      & "test_TABLE.[H], test_TABLE.[I] " _
      & "from test_TABLE " _
      & "WHERE (((test_TABLE.F) In (SELECT [F] FROM [test_TABLE] As Tmp GROUP BY [F] HAVING Count(*)>1 )) AND ((test_TABLE.F)<>""""))" _
      & "ORDER BY test_TABLE.F DESC "

  End Select
  
  Debug.Print strSQL
  frmRecSource = strSQL
  
End Function

-----------------------------------------------------------------------------------------------------

【11573】Re:長さゼロの値をフォームに非表示にし...
回答  よろずや  - 10/4/3(土) 10:35 -

引用なし
パスワード
   VBAプログラムの中では文字列を"(ダブルクォーテション)で括ります。
その中の文字列に"(ダブルクォーテション)が含まれていたら
文字列がそこで終わってしまいますよね。
そこで、文字列中の"(ダブルクォーテション)は2個続けて記述することにより
文字列の終了ではなく文字列中の"(ダブルクォーテション)であるとみなす
約束事があります。

【11574】Re:長さゼロの値をフォームに非表示にし...
お礼  VBA初心者  - 10/4/5(月) 9:00 -

引用なし
パスワード
   ご丁寧なご回答有難うございます。
理解致しました。
 今後とも何卒よろしくお願いします。

以上、よろしくお願いします。

▼よろずや さん:
>VBAプログラムの中では文字列を"(ダブルクォーテション)で括ります。
>その中の文字列に"(ダブルクォーテション)が含まれていたら
>文字列がそこで終わってしまいますよね。
>そこで、文字列中の"(ダブルクォーテション)は2個続けて記述することにより
>文字列の終了ではなく文字列中の"(ダブルクォーテション)であるとみなす
>約束事があります。


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