Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Claudio Neto

Erro -2147217887

Recommended Posts

Estou recebendo um erro ao tentar adicionar valores em minha tabela. A coluna é uma varchar(50) e o texto que estou tentando adicionar não tem mais de 50 caracteres. Segue o erro:

 

Run-time error '-2147217887 (8004e21)'

Multiple-step OLE DB operation generated erros. Check each OLE DB status value, if avaiable. No work as done.

 

 

Porque está ocorrendo isso?

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhem só, descobri o porque do erro. Quando disse que não havia mais de 50 caracteres eu estava enganado.

 

Mas está com mais de 50 por um erro em outro lugar que talvez alguém posse me ajudar.

 

É o seguinte, tenho uma tela em meu programa para salvar pedidos, nessa tela coloquei um optionbutton com as opções mesmo endereço para entrega ou outro endereço para entrega.

 

Se clicar em outro, irá abrir um form onde serão captados os dados para entrega. Porém, eu não posso salvar esses dados na tabela nesse instante, pois ainda não possuo um número de pedido (que será gerado somente quando terminar de adicionar todas as informações na tela anterior). Então o que fiz, esse segundo form salva as informações digitadas em bloco de notas, depois na hora de salvar todas as informações leio linha por linha desse bloco de notas e vou salvando na tabela correta.

 

O que acontece é o seguinte, quando leio esse arquivo, o texto está vindo todo errado, no meio de cada letra existente aparece um quadradinho.

 

Por que isso está ocorrendo, segue abaixo como estou fazendo a leitura do arquivo:

 

Dim fso As Scripting.FileSystemObject

Dim ts As Scripting.TextStream

Dim aux As String

 

Set fso = New Scripting.FileSystemObject

Set ts = fso.OpenTextFile("auxPrsnt.txt", ForReading, True)

rs_ppr.Open "select * from ppresente", cn, adOpenDynamic, adLockOptimistic

rs_ppr.AddNew

aux = ts.ReadLine

rs_ppr.Fields("destinatario") = aux

rs_ppr.Update

rs_ppr.Close

fso.DeleteFile ("auxPrsnt.txt")

 

Até tentei lê-lo de outra forma e não apareceram os quadradinhos, mas eu preciso de uma forma que a cada linha que ler, já passe a próxima, como na forma que coloquei acima.

 

Se alguém puder me dar uma luz...

 

Agradeço desde já.. abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode ler um arquivo texto linha a linha assim:

 

n = freefile()
linha = ""

open "auxPrsnt.txt" for input as #n
do while not eof(n)
	line input #n, linha
	msgbox linha
loop
close #n

Certo? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode ler um arquivo texto linha a linha assim:

 

n = freefile()
linha = ""

open "auxPrsnt.txt" for input as #n
do while not eof(n)
	line input #n, linha
	msgbox linha
loop
close #n

Certo? ;)

 

Graymalkin

 

Hum, mais ou menos Graymalkin. Esse era o outro código que conhecia, mas meu problema é que cada linha do bloco preciso adicionar em um campo de minha tabela, por exemplo:

 

rs("nome") = linha

rs("endereco") = linha

rs("cidade") = linha

 

Dá forma que eu havia feito, a cada lida dessa linha ele já passa para a próxima, só que usando um loop, por mais que ele passe de linha em linha, não vejo como eu vou fazer para que, a primeira linha ele coloque no nome, a segunda no endereco e a terceira na cidade.

 

Mas vou tentar dar um jeito através desse método, se precisar eu numero as linhas e através de um if eu comparo qual o numero da linha para ver onde deve ser armazenado.

 

De qualquer forma agradeço.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.