Fiz uma stored com 10 parametros em sql server e via vba access queria se comunicar com ela num formulario folha de dados, nele eu tenho 10 campos, e precisaria que a cada vez que saisse do registro ele passava os valores dos 10 campos a stored e ele rodava e se não retorna-se nenhum resultado daria mensagem: "nenhum item encontrado
Eu tentei fazer de duas maneiras mas sou meio nato nisso ainda
Pergunta
Rodrigo Hoffmann
Olá
Tenho um problema.
Fiz uma stored com 10 parametros em sql server e via vba access queria se comunicar com ela num formulario folha de dados, nele eu tenho 10 campos, e precisaria que a cada vez que saisse do registro ele passava os valores dos 10 campos a stored e ele rodava e se não retorna-se nenhum resultado daria mensagem: "nenhum item encontrado
Eu tentei fazer de duas maneiras mas sou meio nato nisso ainda
Maneira 1
Dim cnn As ADODB.Connection
Dim CMD As ADODB.Command
Dim Prm As New ADODB.Parameter
Dim rst As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set CMD = New ADODB.Command
Set CMD.ActiveConnection = cnn
CMD.CommandText = "DBO.[Formulario Subformulario PRD_PRE_PEDIDO_CHECK_CONSUMO]"
CMD.CommandType = adCmdStoredProc
Set Prm = CMD.CreateParameter("@Referencia", adInteger, adParamInput, , Nz(Me.ReferenciaCodigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material", adInteger, adParamInput, , Nz(Me.MaterialCodigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material1", adInteger, adParamInput, , Nz(Me.MaterialNivel1Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material2", adInteger, adParamInput, , Nz(Me.MaterialNivel2Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material3", adInteger, adParamInput, , Nz(Me.MaterialNivel3Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material4", adInteger, adParamInput, , Nz(Me.MaterialNivel4Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material5", adInteger, adParamInput, , Nz(Me.MaterialNivel5Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material6", adInteger, adParamInput, , Nz(Me.MaterialNivel6Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material7", adInteger, adParamInput, , Nz(Me.MaterialNivel7Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material8", adInteger, adParamInput, , Nz(Me.MaterialNivel8Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Material9", adInteger, adParamInput, , Nz(Me.MaterialNivel9Codigo, Null))
CMD.Parameters.Append Prm
Set Prm = CMD.CreateParameter("@Cor", adInteger, adParamInput, , Nz(Me.ProdutoNivel5, Null))
CMD.Parameters.Append Prm
rst = CMD.Execute,,adOpenDynamic
If rst.EOF Then
MsgBox "ITEM SEM CONSUMO", vbOKOnly
Else
rst.Close
End If
End Sub
maneira 2
Dim cnn As ADODB.Connection
Dim CMD As ADODB.Command
Dim rst As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set CMD.ActiveConnection = cnn
CMD.CommandText = "[Formulario Subformulario PRD_PRE_PEDIDO_CHECK_CONSUMO]"
Set rst = CMD.Execute(, Nz(Me.ReferenciaCodigo, Null), Nz(Me.MaterialCodigo, Null), Nz(Me.MaterialNivel1Codigo, Null), Nz(Me.MaterialNivel2Codigo, Null), Nz(Me.MaterialNivel3Codigo, Null), Nz(Me.MaterialNivel4Codigo, Null), Nz(Me.MaterialNivel5Codigo, Null), Nz(Me.MaterialNivel6Codigo, Null), Nz(Me.MaterialNivel7Codigo, Null), Nz(Me.MaterialNivel8Codigo, Null), Nz(Me.MaterialNivel9Codigo, Null), Nz(Me.ProdutoNivel5, Null), adCmdStoredProc)
Set CMD = Nothing
If rst.EOF Then
MsgBox "ITEM SEM CONSUMO", vbOKOnly
Else
rst.Close
End If
Posso estar completamente errado ou talvez quase certo
Mas aqui da erro
Até mais
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.