INSERT INTO E UPDATE COM IF

ADILSOO 19/03/2012 14:48:58
#397524
Marcelo, no caso sem ser GAMBIARRA, eu teria que gravar em variavel o valor antes? isso? porque com ACEESS e DAO eu fazia assim...

tabela.edit
if chk.checked = true then
tabela([Ô]CAMPO[Ô]).value = numero 1
else
tabela([Ô]CAMPO[Ô]).value = numero 1
end if
tabela.update
MARCELO.TREZE 19/03/2012 15:17:52
#397528
Adilso vc não está entendendo o checkbox porssui a propriedade value que é 1 para selecionado e 0 para não selecionado

ou seja

tabela([Ô]CAMPO[Ô]).value = Check1.Value


que vai guardar o valor para selecionado ou não sem fazer comparações
ADILSOO 19/03/2012 15:24:14
#397532
Sim essa parte eu entendi, só que isso é só um exemplo Marcelão, hehe, é assim, isso poderia acontecer com qualquer objeto, TextBox por exemplo, não sei se oque eu estou querendo fazer é impossível, não me leva a mal.
MARCELO.TREZE 19/03/2012 17:41:38
#397558
Bom para outras situações vc usa o IIF veja bem é( [Ô]I[Ô] [Ô]I[Ô] [Ô]F[Ô]) ou seja com dois i's ficando assim

tabela([Ô]CAMPO[Ô]).value = IIf(chk.Checked = True, 1, 0)


ou seja o if que vc postou em apenas uma linha, se checked for igual True o valor será 1 caso contrário 0

ADILSOO 19/03/2012 19:28:46
#397568
Deixa eu ver se eu entendi, você separa por virgula? não tem problemas aspas duplas dentro da SQL? mais ou menos isso?

sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & IIF(chk.checked = true,[Ô]1[Ô], [Ô]0[Ô]) &

valeu Marcelo.
ADILSOO 20/03/2012 07:16:46
#397585
e só uma pergunta, com o INSERT funciona da mesma maneira?
LUIZCOMINO 20/03/2012 08:48:00
#397590
amigão não entrara aspas duplas ai , você esta concatenando 2 strings


sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & IIF(chk.checked = true,[Ô]1[Ô], [Ô]0[Ô])

o resultado para string ira sair

sSQL = [Ô]UPDATE tabacessos SET cadalunos = 1[Ô]
ou
sSQL = [Ô]UPDATE tabacessos SET cadalunos = 2[Ô]

o & faz concatenação

esse IIF(chk.checked = true,[Ô]1[Ô], [Ô]0[Ô]) faz a mesma coisa que o

if chk.checked = true then
sSQL = [Ô]UPDATE tabacessos SET cadalunos = 1[Ô]
else
sSQL = [Ô]UPDATE tabacessos SET cadalunos = 0[Ô]
end if

percebeu como é muito mais simples o iff ?
LUIZCOMINO 20/03/2012 08:51:59
#397591
ops é iif e não iff
ADILSOO 20/03/2012 12:42:16
#397647
A entendi, valeu.
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas