Array
(
)

insert

Fernando_ramos
   - 12 jan 2006

amigos,

estou usando o seguinte codigo para dar entrada na minha tabela...

#Código


with login.consulta do
begin
office := ´TESTE´;
sql.Clear;
sql.Add(´insert into tbl_farmacias ´);
sql.Add(´(codigo,farmacia,email,qmicros,cidade,estado,datas,datac,voltagem,serial_office,tecnico,tecnicoat,obs,cpod,endereco,cep,bairro,cnpj,ie,rs) ´);
sql.Add(´VALUES ´);
sql.Add(´(´ + cfoc.text + ´ ,"´ + unidade.Text + ´","´ + email.Text + ´",´ + qcomp.Text + ´,"´ + cidade.Text + ´", ´);
sql.Add(´"´ + uf.text + ´","´ + ds.Text + ´","´ + dc.Text + ´","´ + voltagem.Text + ´", ´);
sql.Add(´"´ + office + ´",´ + ctecnico.text + ´,´ + ctecnicoat.Text + ´,"´ + obs.Text + ´",´ + cpod.Text + ´,"´ + endereco.Text + ´", ´);
sql.Add(´"´ + cep.Text + ´","´ + bairro.Text + ´","´ + cnpj.Text + ´","´ + ie.Text + ´","´ + rs.Text + ´")´);
execsql;


funciona perfeitamente, desde que todos os campos estejam preenchidos...se eu deixar algum campo em branco...da erro de sintaxe...o unico problema é q alguns campos nao sao obrigatorios...

utilizo banco access....

verifiquei os campos e todos estão com a propriedade requerido = não..

obrigado...


Ildefonso
   - 12 jan 2006

Olá, Fernando.

Você deve considerar, em situações de edição/inserção, duas propriedades para os campos no Access:[list:b942af90e5]> Requerido;
> Permitir comprimento zero.[/list:u:b942af90e5]A segunda propriedade, apenas para texto, controla se é possível um campo manter uma string vazia (algo como tbNome.AsString := ´´; ).

Se você diz que um campo pode ser Nulo, não implica em permitir que ele tenha comprimento zero. A converção não é automática.

Você vai ter que verificar os argumentos que montam sua string SQL para colocar Null ao invés de ´´, para certos casos.

Bom trabalho... 8)


Fernando_ramos
   - 12 jan 2006

amigo...obrigado vc me ajudou bastante...

consegui resolver o problema, dos campos texto e numericos....

agora..nao estou sabendo como fazer nos campos data/hora.

se puder me ajudar...agradeço!!


Fernando_ramos
   - 15 jan 2006

Pessoal,
alguém pode me ajudar?

possuo dois campos di tipo DATA/HORA que em algumas situações é necessário ser inseridos em BRANCO...só que o campo nao aceita em branco...como resolver tal questão...


Bruno Belchior
   - 16 jan 2006

Muitos bancos utilizam data no formado mm/dd/yyyy, não sei se é o caso do Access mas não perde por tentar...


Fernando_ramos
   - 16 jan 2006

o access por padrão pega o formato da data do windows, que no meu caso esta dd/mm/yyyy. Mesmo assim ele não aceita inserir EM BRANCO.

se alguem puder me ajudar...agradeço...


Bruno Belchior
   - 16 jan 2006


Citação:
Pessoal,
alguém pode me ajudar?

possuo dois campos di tipo DATA/HORA que em algumas situações é necessário ser inseridos em BRANCO...só que o campo nao aceita em branco...como resolver tal questão...
Passe nesses campos ao invés de uma string vazia utilize Null...


Fernando_ramos
   - 16 jan 2006

ja tentei...mas ele nao aceita NULL, por que não é um campo texto.....eu ja pensei em colocar o campo como texto, porém depois nao conseguirei fazer consultas por periodos de data, certo????

se alguem puder me ajudar!!!


Bruno Belchior
   - 17 jan 2006

campos datas também aceitam NULL, você deve estar passando esse parâmetro como string... ou seja colocando ´Null´ em vez de Null...