Inquiridor
GAVAR CHECKBOX EM BANCO ACCESS

Pergunta
-
Caros,
Estou tentando gravar um checkbox no banco de dados mas esta dando erro.
Tipo de dados Incompatíveis
sql = "INSERT INTO Usuarios(Nivel, CPF, Nome, Empresa, Status, Cadastro_Pessoas, Cadastrado_Por, Data_Cadastro)"
sql = sql & " VALUES ("
sql = sql & " '" & Me.CBNivel.Value & "'"
sql = sql & ", '" & UCase(Me.Txt_CPF.Value) & "'"
sql = sql & ", '" & UCase(Me.Txt_Nome.Value) & "'"
sql = sql & ", '" & UCase(Me.Txt_Empresa.Value) & "'"
sql = sql & ", '" & UCase(Me.Txt_Status.Value) & "'"
sql = sql & ", '" & Me.CheckBox1.Value & "'"
sql = sql & ", '" & Me.UserLogado.Value & "'"
sql = sql & ", '" & Now & "'"
sql = sql & " )"Meu campo no banco esta como tipo de dados Sim/Não
Todas as Respostas
-
Experimente criar uma variável para armazenar o valor do checkbox. Algo mais ou menos assim:
Dim CadPes As Boolean
CadPes = VBA.IIf(CheckBox1.Value, True, False)
Sql = "INSERT INTO Usuarios(Nivel, CPF, Nome, Empresa, Status, Cadastro_Pessoas, Cadastrado_Por, Data_Cadastro)"
Sql = Sql & " VALUES ("
Sql = Sql & " '" & Me.CBNivel.Value & "'"
Sql = Sql & ", '" & UCase(Me.Txt_CPF.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Nome.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Empresa.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Status.Value) & "'"
Sql = Sql & ", '" & CadPes & "'"
Sql = Sql & ", '" & Me.UserLogado.Value & "'"
Sql = Sql & ", '" & Now & "'"
Sql = Sql & " )"Click em propor como resposta se foi util a voce. ricardodm@outlook.com.br
-
-
O campo Data_Cadastro está configurado como no banco, se for data qual o formato?
Experimente retirar as aspas simples da variável.
Dim CadPes As Boolean
CadPes = VBA.IIf(CheckBox1.Value, True, False)
Sql = "INSERT INTO Usuarios(Nivel, CPF, Nome, Empresa, Status, Cadastro_Pessoas, Cadastrado_Por, Data_Cadastro)"
Sql = Sql & " VALUES ("
Sql = Sql & " '" & Me.CBNivel.Value & "'"
Sql = Sql & ", '" & UCase(Me.Txt_CPF.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Nome.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Empresa.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Status.Value) & "'"
Sql = Sql & ", " & CadPes & ""
Sql = Sql & ", '" & Me.UserLogado.Value & "'"
Sql = Sql & ", '" & Now & "'"
Sql = Sql & " )"
Click em propor como resposta se foi util a voce. ricardodm@outlook.com.br
- Editado Ricardo Vba domingo, 29 de abril de 2018 03:48
-
-
Não sei se será por esta razão, mas:
O "Value" de Checkbox apenas é "True" ou "False".
Penso pois que deves utilizar a expressão:
sql = sql & ", '" & Me.CheckBox1.Caption & "'"
Marca como resposta se resolver a tua questão.
M_A_S_L
- Editado M_A_S_L domingo, 29 de abril de 2018 11:14
-
-
Rc_Fields, chegou a testar, desta forma, retirando as aspas simples da Checkbox?
Sql = "INSERT INTO Usuarios(Nivel, CPF, Nome, Empresa, Status, Cadastro_Pessoas, Cadastrado_Por, Data_Cadastro)"
Sql = Sql & " VALUES ("
Sql = Sql & " '" & Me.CBNivel.Value & "'"
Sql = Sql & ", '" & UCase(Me.Txt_CPF.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Nome.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Empresa.Value) & "'"
Sql = Sql & ", '" & UCase(Me.Txt_Status.Value) & "'"
Sql = Sql & ", " & CheckBox1.Value
Sql = Sql & ", '" & Me.UserLogado.Value & "'"
Sql = Sql & ", '" & Now & "'"
Sql = Sql & " )"
Click em propor como resposta se foi util a voce. ricardodm@outlook.com.br
- Editado Ricardo Vba domingo, 29 de abril de 2018 13:32
-