IF
ステートメントをCall Expiry
部分にステップインすることはできませんが、それはelseに渡されるため、私は自分の状態に何か問題があると仮定できます。SQLを使用してIF条件に問題がある
私がアクセステーブル投資データWHERE
お客様番号から契約状況を取得しようとしているが、現在のスプレッドシート上のお客様番号です。 (スプレッドシートには顧客番号が1つしかありません)。
ロジックに問題がありますか、SELECT
ステートメントは文字列ではないものを返しますか?
ご協力いただきありがとうございます。
If ("SELECT [Contract Status] FROM [Investment Data] WHERE [Customer Number] =(" & "SELECT [Customer Number] FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh & ")") = "Current" Then
expiryPrompt = MsgBox("A previous entry from the same contract is currently active, would you like to expire current active contract?", vbYesNo, "Confirmation")
Call Expiry
Exit Sub
Else
MsgBox ("Entry has been entered into the database.")
cN.Execute ssql
Exit Sub
End If
編集1:私は
Dim cdb As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Dim temp As String
strSQL = "SELECT [Contract Status] FROM [Investment Data] WHERE [Customer Number] =(" & _
"SELECT [Customer Number] FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh & ")"
Set cdb = DAO.OpenDatabase(dbPath)
Set rst = cdb.OpenRecordset(strSQL)
temp = rst
次いるSELECT
を保存しようとしているという点で、私はレコードセットの戻り値は、私がどれだけ私を知らないString
ではありません知っていますそれを変数に格納します。
あなたは 'STRING'比較をやっています。連結したSQLは決して ''現在の ''と同じではありません。クエリの*結果*を ''現在の ''と比較しようとしていますか? – Comintern
すべてを1行で実行しないでください。また、実際にSQLクエリを実行しているようには見えません。クエリを実行し、結果を変数に書き込むと、それをトラブルシューティングすることができます。 – teylyn
@Cominternはい '' SELECT'文の結果を '' Current "'と比較しようとしています – mYxCHa