BD ACCESS CAMPO SIM/NÃO
Pessoal estou utilizando o código abaixo para marcar ou desmarcar um campo no
BD mas nada acontece, alguém pode me dizer o que estou fazendo errado?
Acho que só a linha que está comentada já era pra funcionar
Desde já agradeço a todos que possam ajudar.
BD mas nada acontece, alguém pode me dizer o que estou fazendo errado?
Dim i As Integer
ConnectDB
rs.Open [Ô]select Ativo from TBNomeTabela[Ô], db, 3, 3
Do Until rs.EOF
For i = 1 To lstTabela.ListItems.Count
[ô]rs!Ativo.Value = lstTabela.ListItems.Item(i).Checked
If lstTabela.ListItems.Item(i).Checked = True Then
rs!Ativo.Value = True
Else
rs!Ativo.Value = False
End If
Next
rs.MoveNext
Loop
FechaBD
Acho que só a linha que está comentada já era pra funcionar
Desde já agradeço a todos que possam ajudar.
Você precisa executar uma instrução Update para isso.
Do jeito que está, você está apenas alterando um valor do Recordset na memória. Isso não tem efeito algum no banco de dados.
Use algo tipo:
db.Execute [Ô]Update minhaTabela SET meuCampo=meuvalor[Ô]
Abraços!
Do jeito que está, você está apenas alterando um valor do Recordset na memória. Isso não tem efeito algum no banco de dados.
Use algo tipo:
db.Execute [Ô]Update minhaTabela SET meuCampo=meuvalor[Ô]
Abraços!
Amigo, obrigado pela ajuda mas não é isso, quando eu uso
o código abaixo ele funciona mesmo sem o update:
o código abaixo ele funciona mesmo sem o update:
Dim i As Integer
ConnectDB
rs.Open [Ô]select Ativo from TBNomeTabela[Ô], db, 3, 3
Do Until rs.EOF
For i = 1 To lstTabela.ListItems.Count
rs!Ativo.Value = False
Next
rs.MoveNext
Loop
FechaBD
geralmente quando é feita a gravação no banco (ainda mais se for access) vc deve gravar valor numerico (1 para verdadeiro e 0 para falso).. vc tentou fazer essa conversão?
Muito estranho esse código funcionar.
Porque até o momento, era pra ele está só está na memória. Pra poder fazer do jeito que você tá fazendo (sem instrução SQL), você teria que usar o método Update do Recordset.
Sem ele, nem imagino como os dados estão sendo persistidos.
Tenta meter um Update no outro exemplo.
Se não der, acho que o Accioly pode ter matado a questão.
Porque até o momento, era pra ele está só está na memória. Pra poder fazer do jeito que você tá fazendo (sem instrução SQL), você teria que usar o método Update do Recordset.
Sem ele, nem imagino como os dados estão sendo persistidos.
Tenta meter um Update no outro exemplo.
Se não der, acho que o Accioly pode ter matado a questão.
Tente esse código, tenho certeza que vai funcionar:
Dim i As Integer
Dim Valor As Boolean
lstTabela.Visible = False
For i = 1 To lstTabela.ListItems.Count
lstTabela.ListItems.Item(i).Selected = True
Valor = lstTabela.ListItems.Item(i).Checked
ConnectDB
rs.Open [Ô]select *from TBNomeTabela where Codigo=[Ô] & lstTabela.SelectedItem, db, 3, 3
rs!Ativo = Valor
rs.Update
FechaBD
Next
Tópico encerrado , respostas não são mais permitidas