Ir al contenido


Foto

Tutorial (Como hacer un programa de Facturacion)


  • Por favor identifícate para responder
87 respuestas en este tema

#1 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 01:50

Hola
Con este tutorial lo que se pretende es enseñar lo elementos básicos para hacer un programa de facturación sencillo.
Para este vamos a usar una base de datos ACCESS y componentes de sencillo uso de Delphi.
Empecemos con la base de datos:
Todo programa de facturación contiene elementos en común, como son:
Artículos, clientes, usuarios, facturas.
Asi empezaremos haciendo estas tablas directamente en access.
Articulos:
Imagen Enviada

Clientes:
Imagen Enviada

Usuarios:
Imagen Enviada

Factura:
Imagen Enviada


Una vez que terminemos con las tablas guardaremos nuestra base de datos en el directorio que deseemos, recordemos que lo necesitaremos para hacer la conexión con delphi.
Ya teniendo la tablas listas empezaremos con delphi, enlazando cada una y generando el código para que funcione nuestro programa.
En la segunda parte seguiremos con delphi.
Saludos

  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 02:20

Hola
Seguimos con:
Conexión a la base de datos:
Para esto vamos a usar los componentes ADO, vamos a usar un datamodule y haremos un archivo INI que nos servirá para indicar donde esta nuestra base de datos.
Empecemos con delphi:
Generamos un nuevo proyecto, nos aparecerá un nuevo form (este sera el principal).
Vamos a File, New,data module y le damos click.

Esto nos generara un form DataModule para nuestro proyecto.
Vamos a la paleta ADO,  seleccionamos un ADOConnection y lo colocamos en el datamodule, quedaria asi:
Imagen Enviada

Le damos doble click a nuestro ADOConnection y nos saldrá esta pantalla:
Imagen Enviada

Ahora presionamos el botón Build y nos saldra esta otra pantalla:
Imagen Enviada

Una vez con esta pantalla seleccionamos la opción marcada Jet 4 y le damos next, nos saltara la otra pestaña:
Imagen Enviada

Seleccionamos la primera opción y Presionamos el botón con tres puntos, con este buscaremos donde guardamos nuestra base de datos.
Una vez ubicada, la seccionamos y presionamos el boton Test connection, si es correcta nos saldra un mensaje indicandolo.

Con esto ya tenemos la primera parte lista, ya hicimos la conexion con nuestra base de datos.
Seguimos.....
saludos
PD: Acordaros de ir guardando el proyecto... :D
  • 0

#3 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 02:53

Hola
Seguimos con la conexión:
Como en este caso usaremos un archivo INI para la conexion necesitamos añadir al uses del datamodule el uses IniFiles.
para esto seleccionemos el unit del datamodule y le añadimos dicho uses, quedaria asi:


delphi
  1.   uses
  2.   SysUtils, Classes, DB, IniFiles, ADODB, Forms, Dialogs;



Nos posicionamos en el datamodule en la parte blanca y le damos doble click, esto nos generara el evento DataModuleCreate.
Ahora pondremos este cogido que es el que nos servirá para que el archivo INI nos encuentre la base de datos:


delphi
  1. procedure TDataModule1.DataModuleCreate(Sender: TObject);
  2. Var BaseDeDatos, ConStr : String;
  3.     IniFile: TIniFile;
  4. begin
  5.   // Obtiene la ruta y el nombre de la base de datos
  6.   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
  7.   BasedeDatos := IniFile.ReadString('BD','Path','');
  8.   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
  9.   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
  10.             'Data Source='+BaseDeDatos+';'+
  11.             'Persist Security Info=False;'+
  12.             'Jet OLEDB:Database Password=admin';
  13.   ADOConnection1.ConnectionString := ConStr;
  14.   ADOConnection1.Open;
  15.  
  16. end;


Como veis el evento buscara en el archivo INI que en este caso se llama BDatos.ini y enlazara la base de datos con la dirección de este archivo.
Para hacerlo un poco mas sencillo os dejo el archivo ini, solamente se tendria que cambiar la diereccion que se encuentra en PATH y listo.
Saludos

Archivos adjuntos


  • 0

#4 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 03:33

Hola
Ya tenemos nuestra base de datos enlazada al ADOConnection y cuando arranque este se conectara al archivo INI que buscara la dirección de la base de datos.
Bueno sigamos con el primer form que se creo al iniciar delphi (form1).
Aquí vamos a hacer una pantalla inicial, sencilla, que nos ligue con las demás opciones que tendrá nuestro programa.
Coloquemos le a este form un MainMenu, que esta el la primera paleta (standard).
Le damos doble click y nos saldra una pequeña pantalla.
Ahi es donde vamos a colocar el menu de nuestro programa en este caso seran estas:
Imagen Enviada
Luego nos servirá para enlazar cada uno de los forms que vallamos creando.
Bien una vez que tenemos listo este primer form lo guardamos, es buena idea ponerle un nombre adecuado a cada form en este caso en la propiedad Name le pondremos: FClientes, puede ser cualquier otro, el que os guste.

Seguimos......
Saludos

  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 04:22

Hola
Ya tenemos nuestro primer form, el principal, pronto regresaremos para hacer que sea este el que nos guié.
Vamos a hacer nuestro segundo form, seguimos el mismo procedimiento:
File, New, Form.
Esto nos creara nuestro segundo form.
Vamos a hacer nuestro primer enlace, este va a ser con la tabla Clientes.
Aqui podremos añadir, modificar, etc, cada cliente de nuestro programa.
Primero vamos a añadir a este nuevo form un ADOTable.
En su propiedad Connection le escribimos: DataModule1.ADOConnection1
Esto guiara al adotable hacia el datamodule y a su vez hacia el adoconnection.
Ahora en la propiedad TableName buscaremos la tabla Clientes.
Demosle doble click al adotable y nos mostrara una pequeña pantalla.
Con el raton derecho sobre esta pantallita, nos saldra la opcion ADD fields, le damos click y nos saldra una nueva pantalla que contendra todos los campos de la tabla Clientes, presionamos OK y quedaran grabados en esta pantallita.
Vamos a seleccionar uno a uno de estos campos y arrastrarlos al nuevo form.
Colocadlos de manera que quede presentable, que sirva para trabajar sobre ellos, conservando cierto orden.
Veréis que se ha colocado automáticamente un DataSource, este sera el enlace de cada uno de los campos.
Ahora necesitaremos un componente que nos sirva para poder enlazar y trabajar sobre la tabla clientes.
De la paleta dataControls seleccionamos un DBNavigator y lo arrastramos a nuestro form.
En la propiedad Datasource del dbnavigator buscaremos el datasource que se creo automáticamente, así de simple quedara enlazado.
Vamos a activar nuestra tabla con el programa.
Nos posicionamos en el form y le damos doble click, esto nos creara el evento FormCreate y colocamos esto:


delphi
  1. ADOTable1.Active:=  True;


Bueno, como en todo form, siempre tenemos que cerrerlo, asi que coloquemos un boton en el from, en su propiedad Caption ponemos Salir, le damos doble click y ponemos esto:


delphi
  1. Close;


Ahora como siempre le pondremos un nombre que nos interese a este nuevo form, en su propiedad Name pondremos: FMantClientes y lo guardamos.
Si, ese es todo el codigo que necesitamos de momento, asi de facil, bueno, quedaria asi:
Imagen Enviada

Ya tenemos nuestro segundo form, vamos bien.
Seguimos....
Saludos

  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 03 enero 2009 - 04:29

Espero que me disculpes por este comentario "off-topic".
Veo con mucho agrado que le estás dando mucho empuje a esta sección amigo. Te lo agradezco, ya que estaba dejándola un poco de lado porque estoy preparando nuevo material para la sección :).

Saludos,

  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 04:34

Hola

Espero que me disculpes por este comentario "off-topic".
Veo con mucho agrado que le estás dando mucho empuje a esta sección amigo. Te lo agradezco, ya que estaba dejándola un poco de lado porque estoy preparando nuevo material para la sección :).

Saludos,

Como me va a molestar amigo, aquí todos somos uno u uno para todos. (y)
Saludos

  • 0

#8 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 03 enero 2009 - 04:48

Hola
Seguimos......
Vamos a hacer nuestro tercer form para el manejo de los Artículos.
Como siempre:
File, New, Form
Empecemos cambiándole el nombre, a este lo llamaremos: FArticulos, lo podemos guardar o esperar y luego guardarlo.
Igual que con el form anterior Clientes, le pondremos un AdoTable, un dbnavigator, un botón y seguimos los mismos pasos que en el form clientes.
Este quedaría así:
Imagen Enviada

Seguimos.......
Saludos
  • 0

#9 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 enero 2009 - 12:22

Hola
Seguimos...
Vamos a hacer un nuevo Form, Facturación.
Como siempre:
File, New, Form.
Le vamos a cambiar el nombre por FFactura y lo guardamos.
A este nuevo from le vamos a colocar los siguientes componentes:
1-PageControl
En este vamos a hacer dos TabSheet.
Al primero lo llamaremos factura y al segundo Resumen de Factura
En El primero (factura) colocaremos estos componentes:
13- Edits.
1-Combobox.
1-DatetimePicker
4- botones
3-ADOQuery
2-Datasource
Quedaria asi:
Imagen Enviada

En el segundo (resumen de Factura) colocaremos estos:
1-DBGrid
4-Edits
2-Botones
1.DBNavigator (a este le quitaremos todas las opciones excepto Delete.)
Quedaria asi:
[img width=640 height=440]http://img293.imageshack.us/img293/7803/ffactura1qp4.jpg[/img]

Seguiremos con el codigo de este form........
Saludos

  • 1

#10 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 enero 2009 - 12:35

Hola
Seguimos...
Primero vamos a conectar nuestros componentes ADO.
Vamos a ir a la propiedad Connection de cada uno de los ADOQuery y ponemos esto: DataModule1.ADOConnection1
Ahora conectamos el primer Datasource al Adoquery1 y el segundo al AdoQuery2.
Bien, vamos con código:
En el evento Oncreate del form ponemos esto:


delphi
  1.    procedure TFFactura.FormCreate(Sender: TObject);
  2. begin
  3.    DateTimePicker1.Date:= Now;
  4.    ADOQuery1.SQL.Text:='SELECT DISTINCTROW Max([Factura].[CodFactura])AS [CodFacturaa]FROM Factura';
  5.    ADOQuery1.Open;
  6.    ECodFactura.Text:= IntToStr(ADOQuery1.Fields[0].AsInteger+1);
  7. end;


Vamos a poner el primer codigo del boton buscar (el que esta en la imagen a la par de clientes).
Este seria:


delphi
  1. procedure TFFactura.Button3Click(Sender: TObject);
  2. begin
  3.     FMantClientes:=TFMantClientes.Create(self);
  4.    try
  5.     FMantClientes.ShowModal;
  6.    finally
  7.    If FMantClientes.Cod_Cliente <> '' then
  8.    ECodCliente.Text := FMantClientes.Cod_Cliente;
  9.    Label2.Caption:= QuotedStr(FMantClientes. NombreCliente);
  10.    FMantClientes.Free;
  11.    end;
  12.  
  13. end;


Ahora el segundo boton Buscar, esta vez Articulos:


delphi
  1. procedure TFFactura.Button4Click(Sender: TObject);
  2. begin
  3.      FArticulos:=TFArticulos.Create(self);
  4.    try
  5.     FArticulos.ShowModal;
  6.    finally
  7.    If FArticulos.Cod_Parte <> '' then
  8.    ECodArticulo.Text := FArticulos.Cod_Parte;
  9.    Label9.Caption:= QuotedStr(FArticulos.Descripcion);
  10.       FArticulos.Free;
  11.     end;
  12. end;


Vamos con el boton Guardar, ese es el que hará los cálculos y los guardara:


delphi
  1. procedure TFFactura.Button1Click(Sender: TObject);
  2. Var
  3.   a,b,c,d,e,f,g,h : real;
  4. begin
  5. a:= StrTofloat(ECantidad.Text);
  6. b:= StrTofloat(EMonto.Text);
  7. d:= StrTofloat(EDesc.Text);
  8. f:= StrTofloat(EImp.Text);
  9. c:= a * b;
  10. e:= c * d / 100;
  11. g:= (c - e) * f / 100;
  12. h:= c - e + g;
  13. ESTotal.Text:= floatToStr(c);
  14. EDescuento.Text:=floatToStr(e);
  15. EImpuesto.Text:=floatToStr(g);
  16. ETotal.Text:= floatToStr(Round(h));
  17. AdoQuery1.SQL.Text := 'Insert into Factura Values ('+QuotedStr(ECodFactura.Text)+', :fecha, '+QuotedStr(ECodCliente.Text)+ ', '+QuotedStr(ECodArticulo.Text)+ ', '+Label9.Caption+ ', '+QuotedStr(ECantidad.Text)+ ', '+QuotedStr(ComboBox1.Text)+', '+QuotedStr(EOCompra.Text)+', '+
  18.                         QuotedStr(EVendedor.Text)+', '+QuotedStr(EDesc.Text)+', '+QuotedStr(EImp.Text)+', '+QuotedStr(ESTotal.Text)+', '+QuotedStr(EDescuento.Text)+ ', '+QuotedStr(EImpuesto.Text)+ ', '+QuotedStr(ETotal.Text)+')';
  19. AdoQuery1.Parameters.ParamByName('fecha').Value:= DateToStr(DateTimePicker1.Date);
  20. AdoQuery1.ExecSQL;
  21.  
  22. end;


El boton Salir:


delphi
  1. procedure TFFactura.Button2Click(Sender: TObject);
  2. begin
  3.   Close;
  4. end;


En el segundo TabSheet tenemos el boton imprimir, este lo veremos posteriormente.
El DBNavigator (que solo muestra Delete) lo enlazaremos al datasource2
Ahora en el evento OnShow del segundo tabsheet pondremos este codigo:


delphi
  1. procedure TFFactura.TabSheet2Show(Sender: TObject);
  2. begin
  3.   ADOQuery2.SQL.Text:= 'Select * From Factura';
  4.   ADOQuery2.SQL.Add('WHERE CodFactura = '+ECodFactura.Text);
  5.   ADOQuery2.Open;
  6.   ADOQuery3.SQL.Text:= 'SELECT DISTINCTROW Sum([Factura].[MntSubTotal]) AS [SubTotal], Sum([Factura].[MntDescuento]) AS [Descuento],'+
  7.                         ' Sum([Factura].[MntImpuesto]) AS [Impuesto], Sum([Factura].[MntTotal]) AS [Total]'+
  8.                         ' FROM Factura ';
  9.   ADOQuery3.SQL.Add('WHERE Factura.CodFactura = '+ECodFactura.Text);
  10.   AdoQuery3.Open;
  11.   ESSubTotal.Text := ADOQuery3.Fields[0].AsString;
  12.   ESDescuento.Text := ADOQuery3.Fields[1].AsString;
  13.   ESImpuesto.Text := ADOQuery3.Fields[2].AsString;
  14.   ETotalFact.Text := ADOQuery3.Fields[3].AsString;
  15. end;


Y en el evento OnExit del mismo pondremos esto:


delphi
  1. procedure TFFactura.TabSheet2Exit(Sender: TObject);
  2. begin
  3.   ADOQuery2.Close;
  4. end;


Vamos a añadir los units que necesitaremos enlazar asi:


delphi
  1. implementation
  2.  
  3. uses UFMantClientes, UArticulos, UQRFactura;



Seguimos......
Saludos




  • 0

#11 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 enero 2009 - 04:26

Hola
Ahora vamos con el siguiente y ultimo form. Login.
Ya sabemos el proceso para crearlo, a este lo llamaremos: FLogin
A este nuevo form le pondremos los siguientes componentes:
1-ADOQuery
2-Label
2-Edit
2-Botones
Quedaria asi:
Imagen Enviada

le vamos a poner codigo:
Primero crearemos unas variables:


delphi
  1. var
  2.   FLogin: TFLogin;
  3.   Cuenta : integer;
  4.   Usuario, Nombre : String;
  5.   LoginOK : boolean;
  6.    


En el evento OnCreate:


delphi
  1. procedure TFLogin.FormCreate(Sender: TObject);
  2. begin
  3.     Cuenta := 0;
  4.   Usuario := '';
  5.   Nombre := '';
  6. end;


En el boton OK:


delphi
  1. procedure TFLogin.BtnOkClick(Sender: TObject);
  2. begin
  3.   LoginOK := False;
  4.   ADLogin.Parameters.ParamByName('nom').Value:= EUsuario.Text;
  5.   ADLogin.Active:= True;
  6.   EUsuario.Text:= ADLogin.Fields[1].AsString;
  7.   If ADLogin.RecordCount < 1 then
  8.     Begin
  9.       Cuenta := Cuenta + 1;
  10.       MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
  11.       EUsuario.Text := '';
  12.       EClave.Text := '';
  13.       ADLogin.Active := False;
  14.       If Cuenta = 3 then Close;
  15.     end
  16.   else
  17.       If ADLoginClave.AsString = EClave.Text then
  18.         Begin
  19.           LoginOk := True;
  20.           Nombre := ADLoginNombre.AsString;
  21.           ADLogin.Active := False;
  22.           FClientes:=TFClientes.Create(self);
  23.           try
  24.           FLogin.Visible:= False;
  25.           FClientes.ShowModal;
  26.           finally
  27.           FClientes.Free;
  28.           end;
  29.           Close;
  30.         end
  31.     else
  32.         Begin
  33.           Cuenta := Cuenta + 1;
  34.           MessageDlg('Clave Inválida',mtError, [mbOK], 0);
  35.           EClave.Text := '';
  36.           ADLogin.Active := False;
  37.           If Cuenta = 3 then Close;
  38.         end;
  39.  
  40. end;


Y en el boton cancelar:


delphi
  1. procedure TFLogin.BtnCancelClick(Sender: TObject);
  2. begin
  3.   LoginOK :=False;
  4.   Close;
  5. end;


Ahora nos posicionamos en el adoquery y en su propiedad SQL String nos saldra una pantalla y ponemos esto:


sql
  1. SELECT CodUsuario, Nombre, Clave  FROM Usuarios WHERE
  2. CodUsuario = nom


Bueno, con esto ya tenemos todos los forms y las conexiones listas, solo nos falta terminar algunos detalles.
Seguimos....
Saludos


  • 0

#12 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 enero 2009 - 05:16

Hola
Bueno, ya tenemos todo lo que necesitamos listo para trabajar, solo algunos ajuste y a andar.
Primero:
Os acordais del primer Form, el que serviría de principal y contiene un MainMenu.
Vamos a enlazarlo con los demos forms.
Demosle dobleclick al mainmenu.
Nos saldran las opciones que teniamos.
Vamos a darle dobleclick a la primera: Clientes y ponemos esto:


delphi
  1. procedure TFClientes.AadirClientes1Click(Sender: TObject);
  2. begin
  3.     FMantClientes:=TFMantClientes.Create(self);
  4.   try
  5.     FMantClientes.ShowModal;
  6.   finally
  7.     FMantClientes.Free;
  8.   end;
  9. end;


A la segunda: Articulos


delphi
  1. procedure TFClientes.AadirArticulos1Click(Sender: TObject);
  2. begin
  3.     FArticulos:=TFArticulos.Create(self);
  4.   try
  5.     FArticulos.ShowModal;
  6.   finally
  7.     FArticulos.Free;
  8.   end;
  9. end;


A la tercera: Facturacion


delphi
  1.   FFactura:=TFFactura.Create(self);
  2.   try
  3.     FFactura.ShowModal;
  4.   finally
  5.     FFactura.Free;
  6.   end;


Y a Salir:


delphi
  1. procedure TFClientes.Salir1Click(Sender: TObject);
  2. begin
  3.   Close;
  4. end;


Ahora que tenemos enlazado todo nos falta que el programa arranque primero en el form Login.
Nos vamos al unit del proyecto y cambiamos el orden de acceso asi:


delphi
  1. begin
  2.   Application.Initialize;
  3.   Application.CreateForm(TFLogin, FLogin);
  4.   Application.CreateForm(TFClientes, FClientes);
  5.   Application.CreateForm(TDataModule1, DataModule1);
  6.   Application.Run;
  7. end.


Ya estamos listos para ejecutar y probar el programa.
Espero os sirva de ejemplo y os guste.
Como siempre el código fuente de este programa lo dejo por si tenéis alguna duda.
Saludos

AQUI ESTA LOS ARCHIVOS COMPLETOS EN LA ZONA DE DESCARGA

Listo el Tutorial de facturacion 2, espero os sirva y os guste. (y)
Aqui os dejo el enlace.

Listo el Turorial de Facturacion 3, espero os guste. (y)
Aquí os lo dejo.


  • 1

#13 sinh

sinh

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 06 marzo 2009 - 06:22

Pos mi compa, neta que casi nadie pone su codigo al publico, lo felicito, para aquellos que como yoo, nos falta logica para programar, SOLO SE QUE NO SE NADA.

sale mi compa  ahi tamos y aledante
  • 0

#14 ®k2

®k2

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 15 mayo 2009 - 03:18

Que Viva Caral y DA... 8-|
  • 0

#15 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 15 mayo 2009 - 03:40

Hola
Muchas gracias por vuestros comentarios.
Saludos
  • 0

#16 ®k2

®k2

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 18 mayo 2009 - 08:50

Hola Caral, me alegra mucho que tomes la iniciativa de ayudar a los novatos como yo... estoy realizando este ejercicio pero hay algunas variables o Names que no logro reconocer; si no es mucha molestia quisiera que me orientes en ese sentido; las variables o Names en cuestion son las siguientes:
Cod_Cliente, Cod_Parte... Gracias por Adelantado (QDT)
  • 0

#17 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 18 mayo 2009 - 12:19

Hola
Ya casi no me acuerdo de esto, en realidad no se por que use estos nombres de archivos, mas sabiendo que en la bd no estan.
Debe ser algun error que cometi, si tienes algun problema simplemente quitales la raya del medio ( _ ) , deja solo los nombres (CodCliente, CodParte).
Me comentas como te fue.
Saludos
  • 0

#18 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 18 mayo 2009 - 12:36

Hola Carlos,
Casi jurarí­a que tení­a una copia del archivo zip. Intento descomprimir el zip y me indica que el archivo está dañado.

¿Por casualidad no tienes una copia?

En el código que expones aquí­ no se ve, o al menos yo no distingo, un Cod_Cliente, Cod_Parte... y me extraña lo que comenta ®k2.

Saludos,

  • 0

#19 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 18 mayo 2009 - 12:51

Hola
No me tenéis paciencia. :D :D
Ayer limpie el ordenador y reinstale casi todo pero me faltaron algunas cosas.
Ya me acorde de las variables.
Estas variables son las que se usan para traer los datos desde otros forms, son importantes, no se pueden cambiar.
Creo que este es el archivo original, si no es, me lo avisáis.
Saludos
PD: Cambie el otro por si estaba corrupto, ya esta bien.

Archivos adjuntos

  • Archivo adjunto  478_.zip   79,72KB   313 descargas

  • 0

#20 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 18 mayo 2009 - 01:22

Disculpa la molestia amigo.

Ahora si descomprimió.
Si o sí­, a lo largo de esta semana me voy a poner a hacer copias de seguridad de los hilos, y archivos que se vayan haciendo en el foro Manuales y Tutoriales. Mas vale prevenir...
No se que hice con los anteriores backups :s que tení­a en mi disco... Tal vez borré la carpeta en el último mantenimiento. Ahora los haré en cds ;)

Saludos,


  • 0




IP.Board spam blocked by CleanTalk.