Boas tardes
estou a tentar fazer varias pesquisas a uma base de dados para ela me retomar uma campo "Stock".
Quando na minha base de dados existem mais que uma referencia (mais de 3) e por cada uma delas faço uma pesquisa para me retornar o Stock,
aparece sempre um erro "Run-time error '-2147352567(80020009)': O valor introduzido não é válido para este campo."
Se a referencia principal so tiver mais duas alternativas e por isso ´so é realizado 2 pesquisas o código funciona bem.
O código é o seguinte:
Dim strSQL As String
If Not IsNull(Me.MARCA) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.MARCA & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref0 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia1) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia1 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref1 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia2) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia2 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref2 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia3) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia3 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref3 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia4) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia4 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref4 = Rt.Fields("STOCK")
End If
O problema e que não posso utilizar o Rt.Fields("STOCK") do OpenRecordset mais que 2 vezes.
Ou se o souberem fazer de outra maneira melhor agradeço.
Utilizo access 2007 ou superior
Abraços
estou a tentar fazer varias pesquisas a uma base de dados para ela me retomar uma campo "Stock".
Quando na minha base de dados existem mais que uma referencia (mais de 3) e por cada uma delas faço uma pesquisa para me retornar o Stock,
aparece sempre um erro "Run-time error '-2147352567(80020009)': O valor introduzido não é válido para este campo."
Se a referencia principal so tiver mais duas alternativas e por isso ´so é realizado 2 pesquisas o código funciona bem.
O código é o seguinte:
Dim strSQL As String
If Not IsNull(Me.MARCA) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.MARCA & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref0 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia1) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia1 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref1 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia2) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia2 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref2 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia3) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia3 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref3 = Rt.Fields("STOCK")
End If
If Not IsNull(Me.Referencia4) Then
strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia4 & "';"
Set Rt = CurrentDb.OpenRecordset(strSQL)
Me.txtref4 = Rt.Fields("STOCK")
End If
O problema e que não posso utilizar o Rt.Fields("STOCK") do OpenRecordset mais que 2 vezes.
Ou se o souberem fazer de outra maneira melhor agradeço.
Utilizo access 2007 ou superior
Abraços