elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: 1 2 3 [4] 5 6
31  Programación / Programación Visual Basic / [TUTORIAL]Crear Facturas/Pedidos/Etiquetas co Data Report desde Visual Basic 6.0 en: 2 Diciembre 2006, 17:28 pm
[TUTORIAL]Crear Facturas/Pedidos/Etiquetas co Data Report desde Visual Basic 6.0

Bueno visto que mucha gente viene pidiendo como añadir facturas o informes, voy a hacer un pequeño tutorial sobre el uso de data report desde visual basic 6.0.
 Solamente hace un par de semanas desde que aprendí a utilizarlo y no creo que domine todo lo que si interfaz engloba.
Pero ,dentro de mis limitaciones, voy a intentar explicar básicamente como preparar informes, facturas y etiquetas.

Vamos al lio.

Antes de nada decir que para que funcione hará falta tener una base de datos de la que recabar la información.

Agregar Data Enviroment
Para poder usar el Data Report, agrega un dataenviroment al proyecto (Menú Proyecto/Agregar Data Enviroment).


(Para poder ver el environment y tal en agregar componentes, click derecho sobre la barra componentes/componentes/diseñadores/marcamos data report y data environment )

Vemos que se ha añadido una nueva carpeta llamada Diseñadores a nuestro proyecto.


Lo mejor es cambiarle el nombre por DEFacturas o como quieras ya que DataEnvironment1 me resulta bastante engorroso (yo no voy a cambiar el nombre a nada para que se aprecie mejor el ejemplo).

Definir conexión
Al hacer doble click sobre nuestro dataenviroment, se nos abre una ventanita con un objeto llamado Connection1, cambiarle el nombre si queréis.
 Yo voy a establecer la conexión a una base de datos access 2000. Esto variara según la base de datos o procedimiento por el que deséis conectaros a los datos de los que recobraremos la información.

Click derecho sobre connection1, propiedades:
 *Proveedor :  Microsoft Jet 4.0 OLE Data Provider
(Siguiente)
 *Conexión :  Seleccionamos la que deseemos, dejando luego solamente el nombre y la extensión de la base de datos (asi podremos utilizar rutas relativas).
 Si tienes que rellenar algo más pues lo rellenas xD
 (Probamos conexión para comprobarlo)


Creando las consultas
 A continuación creamos las consultas con las que recuperaremos la información.
 Click derecho sobre Connection1, agregar comando. (recomendable cambiarle el nombre)
 El nuevo objeto creado Command1 va a servir para rellenar la cabecera de nuestras facturas.

 Click derecho sobre el Command1, propiedades.
Marcamos la casilla instrucción sql, y generamos la consulta con el generador o a pelo.

 Explico un poco el generador de consultas.
 Se abre una ventanita llamada Vista de datos, de ahí tomamos las tablas. Con doble click sobre alguna te la abre en otra ventanita, si la arrastras y sueltas sobre el generador de consultas te agrega la tabla.
 Relacionamos los campos de las tablas que deseemos (por defecto relaciona las claves externas). Se relacionan arrastrando/soltando sobre los campos.

En el ejemplo hemos añadido tres tablas y las hemos relacionado entre si por codprove (para sacar los datos del proveedor) y codactividad (actividad que realiza el proveedor)

Seleccionamos los campos que nos interesen, marcando simplemente el checkbox, abajo se nos añadiran, tendremos la opción de ordenar por ese campo y otras tantas.

Con esto ya tenemos la consulta generada, de forma que nos devuelve todas las cabeceras de las facturas.
Luego explicare como hacerlo para que solamente devuelva una factura.

Relacionando Consultas
 Ya tenemos la cabecera de los pedidos, ahora solamente faltan las líneas que forman cada pedido. Para ello vamos a crear otro Command haciendo click derecho sobre la conexión, agregar comando.

 Click derecho propiedades, entramos al generador y seleccionamos los campos que deseemos mostrar en la factura/pedido, vamos a añadir también el numpedido puesto que nos hara falta para relacionar el cuerpo con la cabecera de la factura.



 Esta vez solo he asociado lineapedidos con modulos.
Una vez seleccionados los campos guardamos, click derecho Command2 propiedades/Relación, marcamos la casilla relacionar con un comando primario, seleccionamos el nombre del command con que deseamos relacionarlo (Command1) y seleccionamos el campo por el cual se seleccionará, numpedido. Agregamos y aceptamos, ahora veremos que el Command2 se encuentra dentro del Command1. Con ésto hemos logrado que por cada línea de la cabecera tengamos todas las líneas del pedido.

Creando el diseño
 Ahora vamos a crear el diseño para mostrar los datos, para ello data report presenta un interfaz bastante intuitivo y sencillo de manejar. Eso si, muy limitadito xD

Para agregarlo basta con ir al menú (Protecto/Agregar Data Report)
En la propiedad del data report lo asociamos con el datasource al enviroment que hemos creado y el datamember con el command1.
Clicamos con el botón derecho sobre el diseño  y le damos a obtener estructura, aceptamos.
Clicamos con el botón derecho sobre el diseño y le damos a forzar a la cuadrícula, de este modo podremos poner las cosas sin estar obligados por las extrañas dimensiones que te indica el programa xD


Ahora abrimos con doble click nuestro enviroment y arrastramos los campos a sus cabeceras correspondientes.
Command1 al command1_header y command2 al command2_detail.
Cada vez que añades algo se agrega el campo y el nombre del campo. Podéis cambiarles las letritas y poner adornos si queréis xD

Lo recomendable en el command2_detail es solamente poner los valores y los campos de nombre asociados ponerlos en la cabecera del command1_header  tal y como se muestra en el ejemplo. De esta manera no repetiréis todo el rato el nombre de los campos.

Vamos a contar también la cantidad de articulos pedidos y su precio total con las funciones que tenemos en la barra de controles del datareport. Es la E con el pergamino (la última).
Añadimos en command1_footer, un control para contar (definir propiedad functiontype) y otro para sumar. Datamember command2 y en datafield el campo sobre el que se aplicara la función.
 
Si queremos evitar que salgan todos los pedidos seguidos, lo mejor es activar la opción ForcePageBreak (1- rptPageBreakBefore) del command1_header para que separe las facturas por páginas.

Ahora añadiremos algo de código a nuestro datareport para que al salir cierre el recordsource que generará cada vez que lo llamemos.

Código:
Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
    DataEnvironment1.rsCommand1.Close
End Sub

Como véis podemos añadir código en el datareport para realizar algunas tareas

Ya tenemos el diseño preparado. Ahora solo falta llamarlo.



Creamos un botón en nuestro formulario y en el evento hacer click ponemos.

Código:
Private Sub Command1_Click()
'aquí llamamos al data enviroment y al método que llena el datareport, no es otro que el nombre de nuestro command de cabecera
    DataEnvironment1.Command1    
'aquí mostramo el datareport deseado
    DataReport1.Show
End Sub
32  Foros Generales / Sugerencias y dudas sobre el Foro / [SOLUCIONADO] y [NO SOLUCIONADO] en: 26 Noviembre 2006, 20:37 pm
Bueno, me gustaría proponer que ne los temas en los que se pregunten cosas, apareciese delante alguna palabra o imágen que indicase si esta o no solucionado el post, puesto que a veces se hace muy cansado andar leyendo todos los post y ver que la mayoría ya han sido solventados. En mi humilde opinión se podría añadir alguna opción para el que ha publicado el tema o para los moderadores. Creo que esto le daría una navegación más fluida a los que intentan ayudar y tal.

33  Media / Diseño Gráfico / recursos para hacer tablas en: 7 Septiembre 2006, 03:50 am
wuolas... me gustaría preguntaros si conoceis la existencia de algun lugar en el que encontrar recursos para adornar tablas...

para poner de bordes,marcos  en las tablas de diseños web

nose si me he explicado bien...
34  Programación / PHP / problemas al subir archivos por php y globales off en: 5 Septiembre 2006, 18:52 pm
bueno... os pongo el código... como tengo las globales off... tengo que recibir los datos... pero nose en donde me equivoco puesto que los recibo con file...¿qúe hago mal?


Código:
$enviar=$_POST['enviar'];
if(isset($enviar)){
$archivo=$_FILES['archivo'];
$archivo_name=$_FILES['archivo_name'];
$archivo_size=$_FILES['archivo_size'];

        echo"<center>";

$extension = explode(".",$archivo_name);
$num = count($extension)-1;
if($extension[$num] == "rar"){
if($archivo_size < 200000){
if(!copy($archivo, "archivos/putoarchivo.rar")){
echo "error al copiar el archivo";
}else{
echo "archivo subido con exito";
}
}else{
echo "el archivo supera los 200 Kb";
}
}else{
echo "el formato de archivo no es valido, solo .rar";
}
echo"</center>";
}
?>
<br><br><br><br><table border=2 align=center bgcolor=#FFFFCC><tr><th>Subir archivo<FORM METHOD="POST" ACTION="subir.php" ENCTYPE="multipart/form-data">
<tr><th><br><INPUT TYPE="file" NAME="archivo"><br><br>
<tr><th><br><INPUT TYPE="submit" NAME="enviar" VALUE="Enviar"><br><br>
</FORM> </table>
35  Programación / Programación Visual Basic / ¿como paso datos a un programa concreto? en: 27 Agosto 2006, 01:20 am
pues eso ando buscando como enviarle datos a una consola de cmd.exe concreta... estoy usando shellexecuteex pero nose si es, ¿es esa api?
36  Programación / Programación Visual Basic / ese soplo ese soplo eh! eh! en: 27 Agosto 2006, 00:20 am
pues nada solamente darle las gracias a soplo nuestro nuevo "moderador",

[parida] ¡¡guiarnos hacia la luz!! ... xD [/parida]

37  Foros Generales / Sugerencias y dudas sobre el Foro / span en: 26 Agosto 2006, 23:40 pm
Bueno estas cosas cada vez son más frecuentes... xD
Por si ningún moderador lo vio...


http://foro.elhacker.net/index.php/topic,137289.0.html
38  Foros Generales / Sugerencias y dudas sobre el Foro / Moderador para Visual Basic 6 en: 18 Agosto 2006, 15:45 pm
Bueno visto que nadie se ocupa de moderar el foro vb6 y visto que sus usuarios más asiduos reclaman un moderador... hago saber de nuestras inquietudes ya que no se ha pronunciado ningún moderador sobre el tema...


Hilo usuarios : http://foro.elhacker.net/index.php/topic,123855.0.html
Hilos a evitar:
http://foro.elhacker.net/index.php/topic,135112.0.html
39  Media / Juegos y Consolas / mirar k risas sony vs nintendo vs xbox en: 4 Agosto 2006, 18:45 pm
http://www.youtube.com/watch?v=NqOdUrouRhY
40  Informática / Software / compre philips dvdr1660k/00? en: 27 Julio 2006, 18:31 pm
bueno me compre hace un par de meses (creo que menos), una grabadora dvdr1660k/00 de philips...

La instale como slave ya que tenia un lector dvd como master.

Decir que me ha dado muchos problemas con las grabaciones...  bueno al principio al grabar cd/dvds me se me bloqueaba el nero (te regalan el sowftware nero con la grabadora) ya que no me los detectaba... y si lo hacia se ponia a grabar y a veces se paraba al poco de empezar... acto seguido de los dos sucesos se me apagaba... ya le podia dar mil veces al botón que no escupia el cd/dvd se apagaba y hasta que no tocaba el cable ide no se volvia a activar... no le di importancia ya que los cds/dvds eran de los chinos, ambos -1r, decidi comprarme unos dvds verbatim+r y si me los grababa bien...
total que me compro 50 cds verbatim-r y con el nero muriendome de asco porque le pasaba lo mismo... decidi cambiarla de slave a master y na seguia igual... decidi cambiar los conectores... y na seguia igual... probe a grabar con el alcohol... y parecia que iba mucho más estable, logre grabar todos los cds, asi que pense que era por el programita nero.
Hoy me he puesto a grabar aquellos dvds+r de verbatim y parece que no hay manera de hacerselos tragar... asi que me he pasado por la web de philips... me he bajao su sowtfare de actualización automática... y wuala miro y me detecta la grabadora no como una dvdr1660k/00 sino como una dvdr1660p, ¿¿??, en la caja pone claramente dvdr1660k/00.
He buscado info de la dvdr1660p por su web y na de na.
¿Aligual algun chinito se confundió al meter la grabadora?
¿alguien sabe algo/le ha ocurrido?
¿que me recomiendan hacer?
Páginas: 1 2 3 [4] 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines