USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  OleDB
RDM.TECNOLOGIA
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 24/10/2008 15:40 hs            
Boa Tarde!
Pessoal eu estou tentando gravar uns dados de uma tabela em outra tabela como no código abaixo, mas quando eu executo o aplicativo ele da o erro em vemelho, alguem sabe porque da este erro e como eliminar este problema?
 
operação ole db de varias etapas gerou erros. verifique cada valor de status ole db. nada foi executado
 
Meu código é este abaixo:
 
Dim SqlGravaDadosNF As String
Set RsGravaDadosNF = New ADODB.Recordset

SqlGravaDadosNF = "select * from conferencia_nf_x_oc"
RsGravaDadosNF.Open SqlGravaDadosNF, ConOrdem, adOpenKeyset, adLockOptimistic

Dim SqlNumNfItem As String
Set RsNumNfItem = New ADODB.Recordset

SqlNumNfItem = "select cod_empresa,num_nff,cod_item,qtd_item from nf_item where num_nff = '" & NumNFMestre & "' and cod_empresa = '" & CodEmpresa & "' Order By qtd_item"
Set RsCount = ConInformix.Execute("select Count(*) from nf_item where num_nff = '" & NumNFMestre & "' and cod_empresa = '" & CodEmpresa & "'")
RsNumNfItem.Open SqlNumNfItem, ConInformix, adOpenKeyset, adLockOptimistic
Dim TrNFItem As Integer
TrNFItem = RsCount(0)
RsNumNfItem.MoveMin
For cont = 1 To TrNFItem
    'l.AddItem RsNumNfItem(0) & " | " & RsNumNfItem(1) & " | " & RsNumNfItem(2) & " | " & RsNumNfItem(3) & " | " & IesSituacao
    RsGravaDadosNF.AddNew
    RsGravaDadosNF!empresa_nf = RsNumNfItem(0) & ""
    RsGravaDadosNF!num_nf = RsNumNfItem(1) & ""
    RsGravaDadosNF!situacao_nf = IesSituacao & ""
    RsGravaDadosNF!cod_item_nf = RsNumNfItem(2) & ""
    RsGravaDadosNF!qtd_item_nf = RsNumNfItem(3) & ""
    RsGravaDadosNF.Update
    RsNumNfItem.MoveNext
Next
   
Treze
não registrado
ENUNCIADA !
Postada em 24/10/2008 23:40 hs   
você poderia fazer usando uma unica query na sql veja
 
Dim SqlGravaDadosNF As String
Set RsGravaDadosNF = New ADODB.Recordset

SqlGravaDadosNF = "insert into [tabela_destino] (campo1, campo2) select campo3, campo1 from [tabela_origem] "
RsGravaDadosNF.Open SqlGravaDadosNF, ConOrdem, adOpenKeyset, adLockOptimistic

 
   
RDM.TECNOLOGIA
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 29/10/2008 16:22 hs            
Treze
Eu descobri o problema, mas sua dica é muito boa, na correria eu nem tinha pensado em fazer desta forma.
 
Eu resolvi o problema do OLEDB, era um campo do banco informix onde eu estava consultando para gravar o resultado no sql 2000, este campo no informix era um text (12) porem estava gravado 8 caracteres no campo, então o vb6.0 estava entendendo os outros 4 caracteres do informix como um binário pq o informix é 100% texto e espaço em branco p ele é binário, então eu resolvi o problema colocando um MID(campo, 1, 8) ai deu tudo certo, mas eu vou trocar esta forma de consultar e inserir e colocar como vc indicou, é muito melhor e não polui tanto o código.
 
Valeu pela dica!
 
 
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página