Ver Mensaje Individual
  #23  
Antiguo 16-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Primero elimina los with de tu codigo porque

1. No es aconsejable
2. No lo estas "aprovechando"

Debido a 1), casi que prefiero no explicarte el porque no lo estas "aprovechando"

Si te da un error en Query.SQL.Add es porque el query no esta inicializado (no esta creado)

No se de donde sale ADOQuery1, voy a asumir que tenes el componente en el Form actual. Tambien voy a asumir que en ADOQuery1.Connection tenes asignada una TADOConnection

Código Delphi [-]
  // este codigo esta para probar que tengas todo "en orden", luego lo quitas
  // basicamente chequea que todos los objetos que intervienen estan correctamente creados

  if not Assigned(ADOQuery1) then
    raise Exception.Create('ADOQuery1 no esta correctamente inicializado');

  if not Assigned(ADOQuery1.Connection) then
    raise Exception.Create('ADOQuery1.Connection no esta correctamente inicializado');

  if not Assigned(ADOQuery1.SQL) then
    raise Exception.Create('ADOQuery1.SQL no esta correctamente inicializado');

  if not Assigned(form2) then
    raise Exception.Create('form2 esta correctamente inicializado');

  // hasta aca, luego lo quitas


  if ADOQuery1.Active then
    ADOQuery1.Close;

  ADOQuery1.SQL.Text :=
    ' INSERT INTO factura (cantfactu,subtfactu,ivafactu,totalfactu,horafactu,idclientef,idpagof,iduserf) ' +
    ' VALUES (:cantfactu, :subtfactu, :ivafactu, :totalfactu, :horafactu, :idclientef, :idpagof, :iduserF) ';

  ADOQuery1.Parameters.ParamByName('cantfactu').Value := combocant.Text;
  ADOQuery1.Parameters.ParamByName('subtfactu').Value := cant;
  ADOQuery1.Parameters.ParamByName('ivafactu').Value := iva;
  ADOQuery1.Parameters.ParamByName('totalfactu').Value := total;

  ADOQuery1.Parameters.ParamByName('horafactu').DataType := ftDateTime;
  ADOQuery1.Parameters.ParamByName('horafactu').Value := Mfechahora;

  ADOQuery1.Parameters.ParamByName('idclientef').Value := form2.edtcedula.Text;
  ADOQuery1.Parameters.ParamByName('idpagof').Value := tpago;
  ADOQuery1.Parameters.ParamByName('iduserF').Value := '1';
  ADOQuery1.Open;
Responder Con Cita