PEGAR DADOS NO GRID E SALVAR NO BANCO

USUARIO.EXCLUIDOS 09/08/2007 11:31:33
#230171
Olá pessoal,

Bem... tenho o seguinte problema: preciso pegar os dados de uma coluna do grid e salvar no banco... até ai tudo bem, com um for acho que resolve, só que o problema é maior... preciso salvar no lugar certo, e a tabela tem relacionamento.

bem... pode parecer confuso, então vou mostrar como é

tenho a tabela "DiagP" onde estão as Perguntas do Diagnóstico. os campos são: PergCod (codigo da pergunta), PergDesc (descrição), Facial, Corporal e Capilar. estes 3 ultimos são booleans

bem... esta tabela é relacionada com outra tabela a Diag, que tem os campos: Cliente(cod do cliente), Pergunta(cod da pergunta), Positivo (boolean).

no grid eu trato assim, para o grid de Diagnóstico capilar eu verifico quais perguntas possuem o "capilar" selecionado do cliente X... com INNER JOIN.. no grid eu mostro a descrição da pergunta e o campo Positivo.

O que eu preciso é gravar a resposta para a pergunta, no caso o valor do Positivo, para este cliente X... o problema é saber o codigo da pergunta q se está respondendo e salvar isso no banco de forma correta...

passei esta noite em claro tentando resolver, mais não achei nenhuma solução.

qualquer dica é válida =]
desde já agradeço a todos
USUARIO.EXCLUIDOS 09/08/2007 11:44:35
#230173
Resposta escolhida


Viu..com um indice de PergCod..vc n consegue se referenciar nas duas tabelas?

basta dar um select na outra tabela pelo pergCod da tabela diagnótico e fazer o update.

ou eu to chapando?ahuahauhau

viu..continua confuso ainda..huahuaha

USUARIO.EXCLUIDOS 09/08/2007 12:06:40
#230181
hahahahahahaha

assim... na tabela Diag eu gravo o cod do cliente, cod da pergunta e a resposta (sim/não)

o problema é saber qual é o cod da pergunta. pq no grid eu não mostro o cod dela.
USUARIO.EXCLUIDOS 09/08/2007 12:27:28
#230186
to mandando um arquivo de como está...
USUARIO.EXCLUIDOS 09/08/2007 12:31:11
#230188


Sabe o q vc pode fazer

vc pode mostrar sim o codigoda peergunta, deixando ele na ultima coluna..mas redimensionado o flexgrid, para q n mostra essa ultima coluna..assim terá referência;..

entendeu a mágica?
USUARIO.EXCLUIDOS 09/08/2007 12:32:49
#230189
hahahahahaha
boa!

vou testar e já digo se deu ou não
USUARIO.EXCLUIDOS 09/08/2007 13:44:11
#230220
deu certo e não deu.... o que vc falou é bem por ai msm...
só que eu não consigo gravar todas os dados do grid... ele só grava o ultimo...

to fazendo desta forma

Dim r As Long

For r = 1 To GRDcap.Rows - 1
diag("Cliente") = FRMclientes.LBLcod.Caption
diag("Pergunta") = GRDcap.TextMatrix(r, 2)
If GRDcap.TextMatrix(r, 1) = "þ" Then
diag("Positivo") = True
End If
Next
USUARIO.EXCLUIDOS 09/08/2007 15:31:18
#230254
bem... gravar eu consegui....

Dim r As Long

For r = 1 To GRDcap.Rows - 1
diag.AddNew
diag("Cliente") = FRMclientes.LBLcod.Caption
diag("Pergunta") = GRDcap.TextMatrix(r, 2)
If GRDcap.TextMatrix(r, 1) = "þ" Then
diag("Positivo") = True
End If
diag.Update
Next


mais para alterar não está dando certo, não sei como fazer pois da forma que eu tentei ele muda os primeiros registros e não de um determinado cliente

fiz o alterar assim:

Dim r As Long

For r = 1 To GRDcap.Rows - 1
diag.Edit
If GRDcap.TextMatrix(r, 1) = "þ" Then
diag("Positivo") = True
End If
diag.Update
Next
USUARIO.EXCLUIDOS 09/08/2007 15:56:14
#230264


Tenta por update de sql..é bem melhor
USUARIO.EXCLUIDOS 09/08/2007 16:08:09
#230266
Seria algo +/- assim né

UPDATE Diag SET Positivo = True WHERE Cliente LIKE '" + FRMclientes.LBLcod.Caption + "*';


mais não sei como implementar ela no que eu quero


USUARIO.EXCLUIDOS 09/08/2007 17:02:14
#230272


SeuBanco.Execute "UPDATE Diag SET Positivo = True WHERE Cliente LIKE '" + FRMclientes.LBLcod.Caption + "%'"


acho q assim daria certo

q tipo de conexão tu ta usando?
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas