2017-08-03 4 views
0

Access(VBA)でエラー3061が発生します。あなたは私を助けることができます?私は選択を正しく書いたように見えます。私はこの質問がここで何度も尋ねられたことを知っていますが、私は与えられた答えのほとんどすべてを試しましたが、私は問題を解決できませんでした。だから私は助けを求めている。パラメータがあまりにも少ない:予想される1 - MSAccesエラー3061

Private Sub cmdPLCompleto_Click() 
On Error GoTo cmdPLCompleto_Click_Err 

    Dim d As DAO.Database 
    Dim r As DAO.Recordset 
    Dim strSQL2 As String 

    Set d = CurrentDb() 


     strSQL2 = "SELECT DISTINCT qryPLCARTASCompleto.ZDR FROM qryPLCARTASCompleto" 

    Set r = d.OpenRecordset(strSQL2) 

    If r.EOF Then 
     MsgBox "The Recordset is empty." 
    End If 

UPDATE

ここでは、qryPLCARTASCompletoからSQLです:どちらか一方

SELECT PLCARTAS.*, Mid([ICP ID],3,4) AS ZDR 
FROM PLCARTAS 
WHERE (((PLCARTAS.FECHA)=[Forms]![frmCartas]![txtFecha])); 
+0

あなたの質問にqryPLCARTASCompletoの完全なSQLを追加してください。 – Andre

+0

既に@Andreが追加されています –

+1

[パラメータが少なすぎます1、レコードセットの問題が発生しました](https://stackoverflow.com/questions/32118072/too-few-parameters-expected-1-recordset-issue) – Andre

答えて

1

ZDRは、フィールド名ではない、またはあなたのクエリは、フォーム上のフィールドを参照。

最後の場合は、レコードセットを開く前にそのパラメータを指定する必要があります。例えば

Dim d As DAO.Database 
Dim q As DAO.Querydef 
Dim r As DAO.Recordset 
Dim strSQL2 As String 

strSQL2 = "SELECT DISTINCT ZDR FROM qryPLCARTASCompleto"  

Set d = CurrentDb 
Set q = d.Querydefs("", strSQL2) 
q.Parameters(0).Value = [Forms]![frmCartas]![txtFecha]  

Set r = q.OpenRecordset() 

If r.EOF Then 
    MsgBox "The Recordset is empty." 
End If 
+0

ZDRはクエリの列名。私は 'SELECT DISTINCT qryPLCARTASCompleto.ZDR FROM qryPLCARTASCompleto'を実行しようとしました。 –

+0

編集された回答を参照してください。 – Gustav

+0

ねえ! @Gustav 'd.Querydefs'hightlightedで私に与えた解決策を実行した後に、"間違った数の引数または無効なプロパティ割り当て "が表示されます。なぜそれが動いているのか? –

関連する問題