INSERT INTO E UPDATE COM IF
aew galera, blz? , bom, queria saber como que eu faço pra inserir dados ou atualizar com o IF em cada campo,
Ex.. if txt = 1 then grave 1, se txt=2 then grave 2, if txt = 3 then grave 3
resumindo... no meio do insert ou update teria varias comparações
Ex.. if txt = 1 then grave 1, se txt=2 then grave 2, if txt = 3 then grave 3
resumindo... no meio do insert ou update teria varias comparações
ainda ta vago a situação, mas seria algo assim
to passando apenas a idéia que é vc montar a string conforme sua necessidade
Select Case TXT
Case 1
cSQL = [Ô] campo = 1[Ô]
case 2
cSQL = [Ô] campo = 2[Ô]
case 3
cSQL = [Ô] campo = 3[Ô]
End Select
sSQL = [Ô]UPDATE tabela SET[Ô] & cSQL & [Ô] where id = x[Ô]
to passando apenas a idéia que é vc montar a string conforme sua necessidade
Marcelo, é o seguinte, tenho o form que eu marco todas as funcionalidades que um certo usuario poderá acessar, e são todos checkbox, ai na hora de atualizar as informações vou ter que verificar um por um para ver se esta marcado ou nao.
tem como postar a tela, ou como está
sim claro aqui está,
ai vou te dizer o seguinte o negócio não seria atualizar como eu disse o correto seria vc possuir uma tabela de nome acesso e nela possuir os seguintes campos
cadalunos
cadcursos
cadmatricula
Agenda
carnes
recibos
etc...
todos estes campos deveriam ser do tipo sim/não e garvar deste geito
sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & chkCadAlunos.Value & [Ô], cadcursos = [Ô] & chkCadCursos.Value & [Ô]....
só pra vc ter uma idéia ai nestes campos ficaria sim ou não conforme os checks entendeu
cadalunos
cadcursos
cadmatricula
Agenda
carnes
recibos
etc...
todos estes campos deveriam ser do tipo sim/não e garvar deste geito
sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & chkCadAlunos.Value & [Ô], cadcursos = [Ô] & chkCadCursos.Value & [Ô]....
só pra vc ter uma idéia ai nestes campos ficaria sim ou não conforme os checks entendeu
sim Marcelo, eu tenho essa tablimiteacesso , só que na hora de alterar ele teria q verificar se esta marcado e gravar né?
Então como eu disse, se o campo for do tipo sim/não bastaria ser da forma acima entendeu
veja isto
sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & chkCadAlunos.Value & [Ô], cadcursos = [Ô] & chkCadCursos.Value & [Ô]....
no caso acima se chkCadAlunos estiver marcado então chkCadAlunos.Value será igual a 1 se não estiver marcado será 0
na sua tabela ficaria desta forma
idusuario | cadalunos | cadcursos | cadmatriculas
11234 | 1 | 0 | 1
0 = desmarcado
1 = marcado
entendeu vc não precisa verificar se está marcado basta salvar o valor do checkbox
veja isto
sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & chkCadAlunos.Value & [Ô], cadcursos = [Ô] & chkCadCursos.Value & [Ô]....
no caso acima se chkCadAlunos estiver marcado então chkCadAlunos.Value será igual a 1 se não estiver marcado será 0
na sua tabela ficaria desta forma
idusuario | cadalunos | cadcursos | cadmatriculas
11234 | 1 | 0 | 1
0 = desmarcado
1 = marcado
entendeu vc não precisa verificar se está marcado basta salvar o valor do checkbox
boas Adilsoo, boas Marcelo...
Outra opção passa por vc gravar no registo do windows.
poderá tb gravar todos os valores das check box[ô]s no mesmo registo....
eu uso assim:
té +
Outra opção passa por vc gravar no registo do windows.
poderá tb gravar todos os valores das check box[ô]s no mesmo registo....
eu uso assim:
Option Explicit
Dim vDefinicoes As String
Private Sub CmdSalvar_Click()
Dim Ctrl As Control
vDefinicoes = vbNullString
For Each Ctrl In Form1
If TypeOf Ctrl Is CheckBox Then vDefinicoes = vDefinicoes & Ctrl.Value
Next [ô]Ctrl
SaveSetting AppName:=[Ô]NomeDoPrograma[Ô], Section:=[Ô]Memory[Ô], Key:=[Ô]Definicoes[Ô], setting:=vDefinicoes
End Sub
Private Sub Form_Load()
Dim Ctrl As Control
Dim vCont As Integer
vDefinicoes = GetSetting(AppName:=[Ô]NomeDoPrograma[Ô], Section:=[Ô]Memory[Ô], Key:=[Ô]Definicoes[Ô], Default:=[Ô]0000000000[Ô]) [ô]dez zeros no caso de dez checkbox[ô]s
vCont = 1
For Each Ctrl In Form1
If TypeOf Ctrl Is CheckBox Then
Ctrl.Value = CInt(Mid$(vDefinicoes, vCont, 1))
vCont = vCont + 1
End If
Next [ô]Ctrl
End Sub
té +
ok, Marcelo, deu certo, só queria saber uma coisa, como que eu faco na parte do IF dentro no INSERT ou UPDATE? eu já passei por essa situacao mas contornei e contornei e consegui escapar, mas sempre é bom a gente saber né, tipo...
sSQL = [Ô]UPDATE tabacessos SET cadalunos = if chk.checked = true then grave o numero 1, else grave numero 2..
sei la..nao sei se deu pra vc entender, mas é mais ou menos isso, valeu.
sSQL = [Ô]UPDATE tabacessos SET cadalunos = if chk.checked = true then grave o numero 1, else grave numero 2..
sei la..nao sei se deu pra vc entender, mas é mais ou menos isso, valeu.
bom isso é uma gambiarra né, pois o certo é se colocar o valor direto porem
seria algo assim
sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & IIF(chk.checked = true,[Ô]1[Ô], [Ô]0[Ô]) & ,cotinua...
seria algo assim
sSQL = [Ô]UPDATE tabacessos SET cadalunos = [Ô] & IIF(chk.checked = true,[Ô]1[Ô], [Ô]0[Ô]) & ,cotinua...
Tópico encerrado , respostas não são mais permitidas