2017-08-02 4 views
-4

私はこれに少し助けが必要なので、WHERE column-name IS NOT NULLのすべてのレコードを表示することです。私は何を持っていることです:文字列VB6、MS Access、DAO - すべてのレコードを表示WHERE column-name IS NOT NULL

Set WS = DBEngine.Workspaces(0) 
DbFile = (App.Path & "\mydb.mdb") 

strSql = "SELECT * FROM MyDatabaseName" 

Set rs = db.OpenRecordset(strSql) 
rs.MoveFirst 

Do While Not rs.EOF 
lblResult.Caption = ("cust Name: " & rs!SurName & " cust Surname: " & rs!FirstName) 
    rs.MoveNext 
Loop 

MsgBox ("End ") 

としてレコード 薄暗いsqlStrとして

薄暗いのRS私が試したことは

strSql = "SELECT * FROM MyDatabaseName WHERE column-name IS NOT NULL" 

あるしかし、私はすべてのヘルプは高く評価され、エラー3131を取得します。また、ラベルのListBox instedに結果を表示する方法もあります。

+0

、二重銃身の質問をしないでください。 2番目の質問に対する回答が必要な場合は、適切に質問し、回答できるように必要な情報を提供してください。 –

+0

確認する列を指定していません。 SurNameとFirstNameは1つではなく2つの列です。 –

+0

それについて申し訳ありませんが、それはpersonPresentと呼ばれるdbの別の列になります – Cluster

答えて

1

簡単な修正:特殊文字を使用している場合-サブス事業者のように、角括弧内の列名を囲みます

strSql = "SELECT * FROM MyDatabaseName WHERE [column-name] IS NOT NULL"

をあなたのSQLの残りの部分は有効なようです。

このクエリの結果をリストとして表示するには、その行ソースをこのクエリと同じに設定し、行ソースの種類をTable/Queryに設定します。どんなVBAも必要ありません。

あなたは、ラベルに使用するすべてのものを入れたい場合:「また、どのように私は、リストボックスに結果がラベルのinsted表示することができます。」のような

Do While Not rs.EOF 
    lblResult.Caption = lblResult.Caption & "cust Name: " & rs!SurName & " cust Surname: " & rs!FirstName & VbCrLf 
    rs.MoveNext 
Loop 
+0

これは、すべてではなく1つの項目だけを表示します。 – Cluster

+0

もちろん、もちろんあります。このコード: 'Do While Not rs.EOF lblResult.Caption =(" cust名: "&rs!SurName&" Cust姓: "&rs!FirstName) rs.MoveNext Loopはかなり奇妙で、 'lblResult.Caption'の最新のエントリ –

+0

[column-name]それは唯一のカラムですが、OPは2つのカラム:SurNameとFirstNameをチェックするので、SurName = NULLまたはFirstName = NULL、またはその両方= NULLにすることができます。 –

関連する問題