Ir para conteúdo
Fórum Script Brasil
  • 0

Ligação vba com stored em sql server


Rodrigo Hoffmann

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...