• Martes 19 de Noviembre de 2024, 07:50

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - UserCode

Páginas: 1 ... 5 6 [7] 8 9 ... 15
151
Visual Basic 6.0 e inferiores / Re: Problema Con Datareport
« en: Domingo 21 de Enero de 2007, 16:20 »
Daggoth luego cuando tengas un tiempo libre, puedes probar el Crystal Report en el 3er CD del Visual Studio 6, tienes un Crystal Report creo que version 3 o 4 que puedes usar para hacer reportes y que te ayudaría a entrarle al Crystal de versiones actuales en el futuro el cual es el software por excelencia para el diseño de reportes ya que tarde o temprano el DataReport te quedara algo corto para algun tipo de gestion que se te presente hacer, eso si lo indico por experiencia y fue lo que me hizo usar ahora y siempre el Crystal Report para los reportes.

Creo que en el 3er CD está en: \COMMON\Tools\VB\CrysRept\crystl32.exe

En caso que no tengas al momento el 3er CD, porque lo prestaste o se te perdio, o etc y en caso de querer probarlo, cuadramos entonces para enviartelo por correo, FTP, etc la carpeta pesa como 5MB, y con eso te mando unas capturas de pantalla para referenciarte de como conectar el Crystal a la BD, a la tabla y poner los campos en el reporte, pero es tan facil que creo que hasta tu mismo curusiando lo harías, crystal es fácil al menos hablando mas que todo de hacer un reporte sencillo. Luego solo sería de incrustar en el Form el control de Crystal que está en Componentes del VB y unn par de líneas de código llamarian al reporte, buscar las DLL que se necesita para crystal y listo.

PD: Tambien se pueden hacer reportes Crystal desde una interfaz en VB con otros controles que se seleccionan de Componentes, al menos yo los hago en el propio Crystal y ya luego solo los llamo desde VB, creo que así en caso de que en otros lenguajes se necesiten esos reportes, solo quedaria el llamarlos tambien y no estar tan sujetos nativamente a algun lenguaje, mas que solo a la BD desde luego.

Si como dice Angel38 baja de la web de microsoft el SP6 no sé si ya haya otro, el SP6 pesa como 126MB o algo asi, pero actualiza muchas cosas en el VB como por ejemplo el que controles "data control" que no podian conectarse a BDs de X versiones (como Access por ejemplo) ahora si y para el DataReport creo que el SP6 trae algo que permite que el DataReport pueda ponerse la hoja Vertical y no Horizontal como siempre.

Ese problema del DataReport lo hemos tenido todos, pero fueron otras cosas las que me hicieron dejar el DataReport, avisa si tienes el crystl32.exe o si la idea de probar hacer un reporte en crystal te sirve y le damos  :hola:

152
Hola F_Tanori

bueno, no sé si entendí bien, posiblemente no porque de haberlo entendido con el post de link, bueno creo que no hablamos de lo mismo o esa forma del post no es la idea que tenía en mente  :unsure:

Citar
¿o a qué te refieres?

bueno a algo asi como esto de aqui abajo  :huh:

Rs.Edit
Rs("Campo")=Text
Rs.Update

Yo creo que como que tendré que dejarlo con el borrar y volver a agregar el registro, desde el punto de vista del usuario o de ejecución parece transparente el proceso.

153
Citar
Y sobre el otro punto, tengo una tablita en SQL Server, donde por dar un ejemplo, el campo Cedula es de 10 el cual es de tipo char, pero al ingressar desde VB un registro, si por ejemplo la cedula del registro es 12345678 debo agregar luego del 8 "dos espacios" para dar con el registro en la busqueda, el campo nombre es de 20, si ingreso un nombre menor a esa longitud, al buscar por nombre debo llenar con "espacios" lo faltante hasta completar los 20 de longitud del campo de la tabla.

¿porqué pasa esto con los campos de las tablas en SQL Server? blink.gif

Pasa porque el Tipo de Dato declarado para los campos era char pero al cambiarlos a varchar ya solucionado el problema, que cosas  :nosweat:

Citar
¿cómo editas tus registros con ADO?  :huh:

Buena pregunta porque aun no veo como hace esto ADO  :unsure:

154
Visual Basic 6.0 e inferiores / Re: Ayuda Con Programa
« en: Martes 16 de Enero de 2007, 18:18 »
Hola Daggoth

Daggoth claro que todos tus programas siempre funcionaran en tu PC e incluso en la de tu amigo porque tienen el lenguaje instalado, recuerda que al instalar el VS éste pondra en el system32 de tu windows un sin fin de DLLs y OCXs que cualquier programa que hagas (dependiendo del control usado en tus ventanas y demas etc) llamara, buscara esos archivos que necesita para "dibujar" el objeto en la ventana y "ejecutar" todos sus eventos y demas procedimientos gracias a esas DLL y/ó OCX.

Tienes que empaquetar bien tu programa (el instalador) usa el Asistente de Empaquetado y Distribucion del Visual Studio, pero esté empaquetador del VS es algo inestable, te lo digo por experiencia, es mejor usar otros como Setup Factory o el Inno Setup, yo uso este ultimo, hago el instalador a pie, pero esto hace que alguna falla en el instalador sea casí nula.

Yo uso el Empaquetador del VS solo para saber las dependencias del programa, es decir, qué DLLs y OCX necesita el programa para funcionar, no es solo hacer el ejecutable el cual debe hacerse tambien.  Luego de saber qué archivos necesita y depende el programa para funcionar, los busco y los meto en una subcarpeta del programa, la mayoria van a la carpeta de sistema del windows.  La DLL de DAO o ADO deben registrarse en el registro de windows ya que aunque esten colocadas, no funcionaran.

Y tambien (en mi caso) uso el Virtual PC de Microsoft donde tengo instalado en una PC virtual un Windows Virgen, donde pruebo el instalador hecho y evaluar si en el proceso de instalación se produce algun error, o si luego de la instalación, evaluar si en la ejecución del programa y sus tareas se llega a producir algun error, esto abarca tanto avisos de error, como el que se llame a un procedimiento o ejecución de algo que al hacerlo, no se active, como por ejemplo, llamar a un reporte o alguna consulta de datos y ver que no sucede nada, casi siempre todo esto es debido a la falta de algun archivo que el programa necesita para saber lo que se le está pidiendo hacer, lo cual es tu caso y es el pan de cada día en todo esto.

En resumen es eso, tu programa al cargarse a memoria busca en la carpeta de sistema (del sistema) los archivos que necesita para funcionar, y al no conseguirlos produce sus respectivas fallas, en tu equipo esto nunca sucedera porque el Visual Studio colocó en tu PC todo el montoneron de librerias que coloca para funcionar y para que funcione todo control y referencias con e o lasl que desees trabajar.

 :comp:

155
Visual Basic 6.0 e inferiores / Editar Con Ado Y Long Campos En Bd Sql Server7
« en: Lunes 15 de Enero de 2007, 23:27 »
Hola nuevamente  :hola:

Me parece muy interesante ver que ADO tiene una forma distinta de Editar, que de tenerla, al menos es algo que desconozco ya que he probado con .EditMode = dbEditInProgress pues sin buenos resultados de edición con ADO recurro a SQL o incluso a algo como borrar el registro y volverlo a guardar, de haber fecha que mantener, la coloco en una variable para volver a colocar la misma fecha, pero esto ultimo pondría el registro "supuestamente editado" de ultimo en la tabla por ser el ultimo ingresado (porque no se edito sino que se borro y se volvio a meter en la tabla).

A lo cual pregunto ¿cómo editas tus registros con ADO?  :huh:

Y sobre el otro punto, tengo una tablita en SQL Server, donde por dar un ejemplo, el campo Cedula es de 10 el cual es de tipo char, pero al ingressar desde VB un registro, si por ejemplo la cedula del registro es 12345678 debo agregar luego del 8 "dos espacios" para dar con el registro en la busqueda, el campo nombre es de 20, si ingreso un nombre menor a esa longitud, al buscar por nombre debo llenar con "espacios" lo faltante hasta completar los 20 de longitud del campo de la tabla.

¿porqué pasa esto con los campos de las tablas en SQL Server?  :blink:

PD: El buscador está funcionando? porque cualquier cosa a buscar siempre me arroja que no ha encontrado nada, no importa lo que le indique a buscar  :unsure:

Saludos a todos y bienvenido sea cualquier experiencia a contar sobre estas situaciones  :hola:

156
Visual Basic 6.0 e inferiores / Re: Borrar Todos Los Registros De Las Tablas
« en: Jueves 4 de Enero de 2007, 18:30 »
Bueno, probando con la misma SQL y tambien con alguna otra ideao que a uno le viene a la mente, y viene cuando quiere y el día que quiera, pues, en vez de la SQL, pues con código nativo propio del VB colocando las condiciones del WHERE de la SQL en un IF quedando entonces o reemplazando la SQL por esto:

Código: Text
  1.  
  2. If RsServicio.RecordCount > 0 Then
  3.    RsServicio.MoveFirst
  4.    While Not RsServicio.EOF
  5.      If RsServicio("TipoServicio") = 1 And RsServicio("Fecha") < DTPFecha.Value And _
  6.         RsServicio("CodRegion") = RsConfig("CodRegion") And RsServicio("IDSucursal") = SUCURSAL Then
  7.         RsServicio.Delete
  8.      End If
  9.      RsServicio.MoveNext
  10.    Wend
  11. End If
  12.  
  13.  

En todo caso, si alguien sabe como resolver problemas de SQL como las expuestas, por favor, aviseme  B)

 :comp:

157
Visual Basic 6.0 e inferiores / Re: Borrar Todos Los Registros De Las Tablas
« en: Jueves 4 de Enero de 2007, 00:48 »
bueno, se me paso que tambien puse en las SQL lo de DELETE NombreTabla.*
en el caso de cuando tenian Alias las tablas era DELETE A.* From 1raTabla As A, 2daTabla as B

Con solo el * ahí si que la SQL como que no sabe qué registros de cuál de las dos tablas desea uno que borre, pero aun colocando lo anteriormente escrito, no funciona, saca el error de Error de sintaxis en la cláusula From

Pero mi problema es que en el WHERE se valida un dato de la tabla con el campo de otra Tabla, porque si es cierto que si la SQL estuviese compuesta de una sola Tabla, si funcionaría, pero e ahí el problema.

Si para una sola tabla Delete * From Tabla Where Campo = codicion
Cómo sería para una SQL que relaciona más de una tabla ¿?  :unsure:
Ya que ni con Delete A.* From Tabla1 As A, Tabla2 As B Where A.Campo1 = B.Campo1

158
Visual Basic 6.0 e inferiores / Borrar Todos Los Registros De Las Tablas
« en: Miércoles 3 de Enero de 2007, 22:21 »
Feliz Año Nuevo para toda la comunidad, que todos sus deseos, proyecciones o planes para este nuevo año se cumplan sin contratiempo alguno.

Disuclpas por este post, ya que si debe de haber temas de esto en el foro, pero no sé, tal vez el buscador no permite string SQLs ya que SQL Delete From es lo que puse en el buscar para ver post con eso, pero el buscador me produce error, incluso buscando luego con SQL borrar base de datos, no sé si le esten haciando algun mantenimiento a la web, aviso:

Citar
Disculpa, ocurrió un error. Si no estás seguro de cómo utilizar alguna característica, o no sabes por qué has obtenido este mensaje de error, prueba a mirar en los archivos de ayuda para más información.

El error devuelto fue:

Disculpa, pero no se ha encontrado coincidencia alguna

Tengo en una ventanita llamada Configuración, relacionada a un programita, una sección que es de hacer respaldo de la BD y borra sus tablas luego de ello. Guardar un backup y comenzar con la BD en blanco, un screenshot a mostrar de esa ventanita:



Pero las SQLs para borrar las tablas me estan dando error y no sé bien a qué es debido ya que al menos viendo esta web, pareciese servir como lo he puesto, pero no es así.

Bueno este es el código, yo lo veo bien, pero funciona mal  <_<

Código: Text
  1.  
  2.             If MsgBox("ESTA A PUNTO DE REALIZAR UNA OPERACION DELICADA PARA EL SISTEMA" & vbCrLf & vbCrLf & _
  3.                       "UNA VEZ QUE BORRE LOS REGISTROS, ESTOS NO PODRAN SER RECUPERADOS" & vbCrLf & _
  4.                       "SE RECOMIENDA HACER UN RESPALDO DE LA BASE DE DATOS ANTES DE PROCEDER CON ESTA OPERACION" & vbCrLf & vbCrLf & _
  5.                       "¿CONFIRMA QUE DESEA BORRAR LOS REGISTROS DE LAS GESTIONES SELECCIONADAS?", vbQuestion + vbYesNo, "CONFIRMANDO") = vbYes Then
  6.                 'Todos:
  7.                 If ChkMasivos.Value = 1 And ChkContratados.Value = 1 And ChkServiciosInt.Value = 1 And _
  8.                    ChkCuentasEspeciales.Value = 1 And ChkSiniestros.Value = 1 And ChkDistMasivaGestOp.Value = 1 And ChkDistMasivaGestCalidad.Value = 1 Then
  9.                    'Masivos, Contratados y Serv.Int:
  10.                     BD.Execute "DELETE TR_SERVICIO.* FROM TR_SERVICIO, TB_CONFIG " & _
  11.                                "WHERE TR_SERVICIO.Fecha<" & DTPFecha.Value & " " & _
  12.                                "AND TR_SERVICIO.CodRegion=TB_CONFIG.CodRegion AND TR_SERVICIO.IDSucursal='" & SUCURSAL & "'"
  13.                     'Dist.Masiva GestOp:
  14.                     BD.Execute "DELETE DISTMASIVA_GESTOP.* FROM DISTMASIVA_GESTOP, TB_CONFIG " & _
  15.                                "AND DISTMASIVA_GESTOP.Fecha<" & DTPFecha.Value & " " & _
  16.                                "AND DISTMASIVA_GESTOP.CodRegion=TB_CONFIG.CodRegion AND DISTMASIVA_GESTOP.IDSucursal='" & SUCURSAL & "'"
  17.                                
  18.                     BD.Execute "DELETE DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.* FROM DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION, TB_CONFIG " & _
  19.                                "AND DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.Fecha<" & DTPFecha.Value & " " & _
  20.                                "AND DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.CodRegion=TB_CONFIG.CodRegion AND DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.IDSucursal='" & SUCURSAL & "'"
  21.                     'Dist.Masiva GestCalidad:
  22.                     BD.Execute "DELETE DISTMASIVA_GESTCALIDAD.* FROM DISTMASIVA_GESTCALIDAD, TB_CONFIG " & _
  23.                                "AND DISTMASIVA_GESTCALIDAD.Fecha<" & DTPFecha.Value & " " & _
  24.                                "AND DISTMASIVA_GESTCALIDAD.CodRegion=B.CodRegion AND DISTMASIVA_GESTCALIDAD.IDSucursal='" & SUCURSAL & "'"
  25.                                
  26.                     BD.Execute "DELETE DISTMASIVA_GESTCALIDAD_DETALLE.* FROM DISTMASIVA_GESTCALIDAD_DETALLE, TB_CONFIG " & _
  27.                                "AND DISTMASIVA_GESTCALIDAD_DETALLE.Fecha<" & DTPFecha.Value & " " & _
  28.                                "AND DISTMASIVA_GESTCALIDAD_DETALLE.CodRegion=TB_CONFIG.CodRegion AND DISTMASIVA_GESTCALIDAD_DETALLE.IDSucursal='" & SUCURSAL & "'"
  29.                     'Cuent Esp:
  30.                     BD.Execute "DELETE CUENTESP_CTRL_SOBRETIEMPO.* FROM CUENTESP_CTRL_SOBRETIEMPO AS A, TB_CONFIG " & _
  31.                                "AND Fecha<" & DTPFecha.Value & " " & _
  32.                                "AND CUENTESP_CTRL_SOBRETIEMPO.CodRegion=TB_CONFIG.CodRegion AND CUENTESP_CTRL_SOBRETIEMPO.IDSucursal='" & SUCURSAL & "'"
  33.                                
  34.                     BD.Execute "DELETE CUENTESP_SERVESP.* FROM CUENTESP_SERVESP, TB_CONFIG " & _
  35.                                "AND CUENTESP_SERVESP.Fecha<" & DTPFecha.Value & " " & _
  36.                                "AND CUENTESP_SERVESP.CodRegion=TB_CONFIG.CodRegion AND CUENTESP_SERVESP.IDSucursal='" & SUCURSAL & "'"
  37.                     'Siniestros:
  38.                     BD.Execute "DELETE TR_SINIESTROS_ENVASES.* FROM TR_SINIESTROS_ENVASES, TB_CONFIG " & _
  39.                                "AND TR_SINIESTROS_ENVASES.Fecha<" & DTPFecha.Value & " " & _
  40.                                "AND TR_SINIESTROS_ENVASES.CodRegion=TB_CONFIG.CodRegion AND TR_SINIESTROS_ENVASES.IDSucursal='" & SUCURSAL & "'"
  41.                                
  42.                     BD.Execute "DELETE TR_SINIESTROS_ENVASES_DETALLE.* FROM TR_SINIESTROS_ENVASES_DETALLE, TB_CONFIG " & _
  43.                                "AND TR_SINIESTROS_ENVASES_DETALLE.Fecha<" & DTPFecha.Value & " " & _
  44.                                "AND TR_SINIESTROS_ENVASES_DETALLE.CodRegion=TB_CONFIG.CodRegion AND TR_SINIESTROS_ENVASES_DETALLE.IDSucursal='" & SUCURSAL & "'"
  45.                                
  46.                     BD.Execute "DELETE TR_SINIESTROS_VEHICULOS.* FROM TR_SINIESTROS_VEHICULOS, TB_CONFIG " & _
  47.                                "AND TR_SINIESTROS_VEHICULOS.Fecha<" & DTPFecha.Value & " " & _
  48.                                "AND TR_SINIESTROS_VEHICULOS.CodRegion=TB_CONFIG.CodRegion AND TR_SINIESTROS_VEHICULOS.IDSucursal='" & SUCURSAL & "'"
  49.                     'Gastos SGV:
  50.                     BD.Execute "DELETE TR_GASTOS.* FROM TR_GASTOS, TB_CONFIG " & _
  51.                                "AND TR_GASTOS.Fecha<" & DTPFecha.Value & " " & _
  52.                                "AND TR_GASTOS.CodRegion=TB_CONFIG.CodRegion AND TR_GASTOS.TxtSucursal='" & SUCURSAL & "'"
  53.                     'Mant SGV:
  54.                     BD.Execute "DELETE TR_BATERIAS.* FROM TR_BATERIAS, TB_CONFIG AS B " & _
  55.                                "AND TR_BATERIAS.Fecha<" & DTPFecha.Value & " " & _
  56.                                "AND TR_BATERIAS.CodRegion=TB_CONFIG.CodRegion AND TR_BATERIAS.TxtSucursal='" & SUCURSAL & "'"
  57.                                
  58.                     BD.Execute "DELETE TR_CAUCHOS.* FROM TR_CAUCHOS, TB_CONFIG " & _
  59.                                "AND TR_CAUCHOS.Fecha<" & DTPFecha.Value & " " & _
  60.                                "AND TR_CAUCHOS.CodRegion=TB_CONFIG.CodRegion AND TR_CAUCHOS.TxtSucursal='" & SUCURSAL & "'"
  61.                                
  62.                     BD.Execute "DELETE TR_SERV_BIMENSUAL_MANT_PREVENTIVO.* FROM TR_SERV_BIMENSUAL_MANT_PREVENTIVO, TB_CONFIG " & _
  63.                                "AND TR_SERV_BIMENSUAL_MANT_PREVENTIVO.Fecha<" & DTPFecha.Value & " " & _
  64.                                "AND TR_SERV_BIMENSUAL_MANT_PREVENTIVO.CodRegion=TB_CONFIG.CodRegion AND TR_SERV_BIMENSUAL_MANT_PREVENTIVO.TxtSucursal='" & SUCURSAL & "'"
  65.                    
  66.                     'Inventario SGV:
  67.                     BD.Execute "DELETE TR_CTRL_VEHIC_KM.* FROM TR_CTRL_VEHIC_KM, TB_CONFIG " & _
  68.                                "AND TR_CTRL_VEHIC_KM.Fecha<" & DTPFecha.Value & " " & _
  69.                                "AND TR_CTRL_VEHIC_KM.CodRegion=TB_CONFIG.CodRegion AND TR_CTRL_VEHIC_KM.TxtSucursal='" & SUCURSAL & "'"
  70.                                
  71.                     BD.Execute "DELETE TR_UNID_PARALIZADAS.* FROM TR_UNID_PARALIZADAS, TB_CONFIG " & _
  72.                                "AND TR_UNID_PARALIZADAS.Fecha<" & DTPFecha.Value & " " & _
  73.                                "AND TR_UNID_PARALIZADAS.CodRegion=TB_CONFIG.CodRegion AND TR_UNID_PARALIZADAS.TxtSucursal='" & SUCURSAL & "'"
  74.                 End If
  75.                 'Individual:
  76.                 If ChkMasivos.Value = 1 Then
  77.                     BD.Execute "DELETE TR_SERVICIO.* FROM TR_SERVICIO AS A, TB_CONFIG " & _
  78.                                "WHERE TR_SERVICIO.TipoServicio=1 AND TR_SERVICIO.Fecha<" & DTPFecha.Value & " " & _
  79.                                "AND TR_SERVICIO.CodRegion=TB_CONFIG.CodRegion AND TR_SERVICIO.IDSucursal='" & SUCURSAL & "'"
  80.                 End If
  81.                 If ChkContratados.Value = 1 Then
  82.                     BD.Execute "DELETE TR_SERVICIO.* FROM TR_SERVICIO, TB_CONFIG " & _
  83.                                "WHERE TR_SERVICIO.TipoServicio=2 AND TR_SERVICIO.Fecha<" & DTPFecha.Value & " " & _
  84.                                "AND TR_SERVICIO.CodRegion=TB_CONFIG.CodRegion AND TR_SERVICIO.IDSucursal='" & SUCURSAL & "'"
  85.                 End If
  86.                 If ChkServiciosInt.Value = 1 Then
  87.                     BD.Execute "DELETE TR_SERVICIO.* FROM TR_SERVICIO, TB_CONFIG " & _
  88.                                "WHERE TR_SERVICIO.TipoServicio=3 AND TR_SERVICIO.Fecha<" & DTPFecha.Value & " " & _
  89.                                "AND TR_SERVICIO.CodRegion=TB_CONFIG.CodRegion AND TR_SERVICIO.IDSucursal='" & SUCURSAL & "'"
  90.                 End If
  91.                 If ChkDistMasivaGestOp.Value = 1 Then
  92.                     BD.Execute "DELETE DISTMASIVA_GESTOP.* FROM DISTMASIVA_GESTOP, TB_CONFIG " & _
  93.                                "AND DISTMASIVA_GESTOP.Fecha<" & DTPFecha.Value & " " & _
  94.                                "AND DISTMASIVA_GESTOP.CodRegion=TB_CONFIG.CodRegion AND DISTMASIVA_GESTOP.IDSucursal='" & SUCURSAL & "'"
  95.                                
  96.                     BD.Execute "DELETE DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.* FROM DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION, TB_CONFIG " & _
  97.                                "AND DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.Fecha<" & DTPFecha.Value & " " & _
  98.                                "AND DISTMASIVA_GESTOP_MOTIVO_DEVOLUCION.CodRegion=TB_CONFIG.CodRegion AND A.IDSucursal='" & SUCURSAL & "'"
  99.                 End If
  100.                 If ChkDistMasivaGestCalidad.Value = 1 Then
  101.                     BD.Execute "DELETE DISTMASIVA_GESTCALIDAD.* FROM DISTMASIVA_GESTCALIDAD, TB_CONFIG " & _
  102.                                "AND DISTMASIVA_GESTCALIDAD.Fecha<" & DTPFecha.Value & " " & _
  103.                                "AND DISTMASIVA_GESTCALIDAD.CodRegion=TB_CONFIG.CodRegion AND A.IDSucursal='" & SUCURSAL & "'"
  104.                                
  105.                     BD.Execute "DELETE DISTMASIVA_GESTCALIDAD_DETALLE.* FROM DISTMASIVA_GESTCALIDAD_DETALLE, TB_CONFIG " & _
  106.                                "AND DISTMASIVA_GESTCALIDAD_DETALLE.Fecha<" & DTPFecha.Value & " " & _
  107.                                "AND DISTMASIVA_GESTCALIDAD_DETALLE.CodRegion=TB_CONFIG.CodRegion AND DISTMASIVA_GESTCALIDAD_DETALLE.IDSucursal='" & SUCURSAL & "'"
  108.                                
  109.                     BD.Execute "DELETE DISTMASIVA_GESTCALIDAD_FORMULAS.* FROM DISTMASIVA_GESTCALIDAD_FORMULAS, TB_CONFIG " & _
  110.                                "AND DISTMASIVA_GESTCALIDAD_FORMULAS.Fecha<" & DTPFecha.Value & " " & _
  111.                                "AND DISTMASIVA_GESTCALIDAD_FORMULAS.CodRegion=TB_CONFIG.CodRegion AND DISTMASIVA_GESTCALIDAD_FORMULAS.IDSucursal='" & SUCURSAL & "'"
  112.                 End If
  113.                 If ChkCuentasEspeciales.Value = 1 Then
  114.                     BD.Execute "DELETE CUENTESP_CTRL_SOBRETIEMPO.* FROM CUENTESP_CTRL_SOBRETIEMPO, TB_CONFIG " & _
  115.                                "AND CUENTESP_CTRL_SOBRETIEMPO.Fecha<" & DTPFecha.Value & " " & _
  116.                                "AND CUENTESP_CTRL_SOBRETIEMPO.CodRegion=TB_CONFIG.CodRegion AND CUENTESP_CTRL_SOBRETIEMPO.IDSucursal='" & SUCURSAL & "'"
  117.                                
  118.                     BD.Execute "DELETE CUENTESP_SERVESP.* FROM CUENTESP_SERVESP, TB_CONFIG " & _
  119.                                "AND CUENTESP_SERVESP.Fecha<" & DTPFecha.Value & " " & _
  120.                                "AND CUENTESP_SERVESP.CodRegion=TB_CONFIG.CodRegion AND CUENTESP_SERVESP.IDSucursal='" & SUCURSAL & "'"
  121.                 End If
  122.                 If ChkSiniestros.Value = 1 Then
  123.                     BD.Execute "DELETE TR_SINIESTROS_ENVASES.* FROM TR_SINIESTROS_ENVASES, TB_CONFIG " & _
  124.                                "AND TR_SINIESTROS_ENVASES.Fecha<" & DTPFecha.Value & " " & _
  125.                                "AND TR_SINIESTROS_ENVASES.CodRegion=TB_CONFIG.CodRegion AND TR_SINIESTROS_ENVASES.IDSucursal='" & SUCURSAL & "'"
  126.                                
  127.                     BD.Execute "DELETE TR_SINIESTROS_ENVASES_DETALLE.* FROM TR_SINIESTROS_ENVASES_DETALLE, TB_CONFIG " & _
  128.                                "AND TR_SINIESTROS_ENVASES_DETALLE.Fecha<" & DTPFecha.Value & " " & _
  129.                                "AND TR_SINIESTROS_ENVASES_DETALLE.CodRegion=TB_CONFIG.CodRegion AND TR_SINIESTROS_ENVASES_DETALLE.IDSucursal='" & SUCURSAL & "'"
  130.                                
  131.                     BD.Execute "DELETE TR_SINIESTROS_VEHICULOS.* FROM TR_SINIESTROS_VEHICULOS, TB_CONFIG " & _
  132.                                "AND TR_SINIESTROS_VEHICULOS.Fecha<" & DTPFecha.Value & " " & _
  133.                                "AND TR_SINIESTROS_VEHICULOS.CodRegion=TB_CONFIG.CodRegion AND TR_SINIESTROS_VEHICULOS.IDSucursal='" & SUCURSAL & "'"
  134.                 End If
  135.                 'SGV:
  136.                 If ChkGastosSGV.Value = 1 Then
  137.                     BD.Execute "DELETE TR_GASTOS.* FROM TR_GASTOS, TB_CONFIG " & _
  138.                                "AND TR_GASTOS.Fecha<" & DTPFecha.Value & " " & _
  139.                                "AND TR_GASTOS.CodRegion=TB_CONFIG.CodRegion AND TR_GASTOS.TxtSucursal='" & SUCURSAL & "'"
  140.                 End If
  141.                 If ChkMantSGV.Value = 1 Then
  142.                     BD.Execute "DELETE A.* FROM TR_BATERIAS, TB_CONFIG " & _
  143.                                "AND TR_BATERIAS.Fecha<" & DTPFecha.Value & " " & _
  144.                                "AND TR_BATERIAS.CodRegion=TB_CONFIG.CodRegion AND TR_BATERIAS.TxtSucursal='" & SUCURSAL & "'"
  145.                                
  146.                     BD.Execute "DELETE TR_CAUCHOS.* FROM TR_CAUCHOS, TB_CONFIG " & _
  147.                                "AND TR_CAUCHOS.Fecha<" & DTPFecha.Value & " " & _
  148.                                "AND TR_CAUCHOS.CodRegion=TB_CONFIG.CodRegion AND TR_CAUCHOS.TxtSucursal='" & SUCURSAL & "'"
  149.                                
  150.                     BD.Execute "DELETE TR_SERV_BIMENSUAL_MANT_PREVENTIVO.* FROM TR_SERV_BIMENSUAL_MANT_PREVENTIVO, TB_CONFIG " & _
  151.                                "AND TR_SERV_BIMENSUAL_MANT_PREVENTIVO.Fecha<" & DTPFecha.Value & " " & _
  152.                                "AND TR_SERV_BIMENSUAL_MANT_PREVENTIVO.CodRegion=TB_CONFIG.CodRegion AND TR_SERV_BIMENSUAL_MANT_PREVENTIVO.TxtSucursal='" & SUCURSAL & "'"
  153.                 End If
  154.                 If ChkInventarioSGV.Value = 1 Then
  155.                     BD.Execute "DELETE TR_CTRL_VEHIC_KM.* FROM TR_CTRL_VEHIC_KM, TB_CONFIG " & _
  156.                                "AND TR_CTRL_VEHIC_KM.Fecha<" & DTPFecha.Value & " " & _
  157.                                "AND TR_CTRL_VEHIC_KM.CodRegion=TB_CONFIG.CodRegion AND TR_CTRL_VEHIC_KM.TxtSucursal='" & SUCURSAL & "'"
  158.                                
  159.                     BD.Execute "DELETE TR_UNID_PARALIZADAS.* FROM TR_UNID_PARALIZADAS, TB_CONFIG " & _
  160.                                "AND TR_UNID_PARALIZADAS.Fecha<" & DTPFecha.Value & " " & _
  161.                                "AND TR_UNID_PARALIZADAS.CodRegion=TB_CONFIG.CodRegion AND TR_UNID_PARALIZADAS.TxtSucursal='" & SUCURSAL & "'"
  162.                 End If
  163.             Else
  164.                 Exit Sub
  165.             End If
  166.  
  167.  

Si tenían Alias las tablas FROM Tabla As A, TB_CONFIG As B y todo era WHERE A.Campo = B.Campo AND A.Fecha < variable
Pero aun sabiendo que sería igual o lo mismo, quise ver si tal vez los Alias daban algun problema por lo que los quite, pero claro que con tablas con nombres largos, habian Alias que volvere a poner.

Alguna observación sobre esto a comentar ¿?  :unsure:

159
MS Access / Re: Sql Que No Ordene Los Datos
« en: Lunes 11 de Diciembre de 2006, 14:32 »
dicho y hecho, eso mismo voy a hacer  :good:

160
MS Access / Re: Sql Que No Ordene Los Datos
« en: Lunes 11 de Diciembre de 2006, 01:30 »
uhmmm entonces como que mejor le pongo al programa de esta bd algo en donde periodicamente se compacte la bd para que el usuario lo haga o que automáticamente lo haga el programa cada cierto tiempo, y tambien el que se puedan borrar archivos muuuuy viejos ya existentes, pero de esto ultimo no estoy muy seguro, no sea que siempre se necesiten todos los archivos sin importar su antiguo ingreso, algo asi como un historial, tal vez copiando la bd en un backup y luego borron y cuenta nueva :unsure:

161
MS Access / Re: Sql Que No Ordene Los Datos
« en: Domingo 10 de Diciembre de 2006, 23:39 »
lo acabo de hacer  B)

porque estaba grande o embasurada?  :huh:

162
MS Access / Re: Sql Que No Ordene Los Datos
« en: Domingo 10 de Diciembre de 2006, 19:46 »
ya lo solucione,  B)  siempre se sabe que en esto hay que esperar que la materia gris le de la inspiracion cuando quiere y no cuando uno quiere, y bien sencillito que fue, no sé si drastico pero si funciona, pos pa mi esta bien.

Pues la SQL con el problema, la cual es esta:
Citar
SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT

FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP

WHERE A.CodRegion = REP.CodRegion
And      A.IDSucursal = REP.IDSucursal
And     (A.Asunto="Sobres Entregados"
Or A.Asunto="Sobres Devueltos"
Or A.Asunto="Entregas Verificadas"
Or A.Asunto="Entregas Realizadas Correctamente"
Or A.Asunto="Mala Atencion - Queja del Cliente"
Or A.Asunto="No Identifico al Destinatario"
Or A.Asunto="Entrego Sobre Abierto y sin Cubierta Plastica"
Or A.Asunto="Acuse de Recibido llenado por el Distribuidor"
Or A.Asunto="Devoluciones Verificadas"
Or A.Asunto="A"
Or A.Asunto="B"
Or A.Asunto="C"
Or A.Asunto="D"
Or A.Asunto="E"
Or A.Asunto="F")
And A.TipoGestion=2
And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2

GROUP BY A.Asunto;

Sencillamente la divide en dos SQLs

La primera:
Citar
SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT

FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP

WHERE A.CodRegion = REP.CodRegion
And      A.IDSucursal = REP.IDSucursal
And     (A.Asunto="Sobres Entregados"
Or A.Asunto="Sobres Devueltos"
Or A.Asunto="Entregas Verificadas"
Or A.Asunto="Entregas Realizadas Correctamente"
Or A.Asunto="Mala Atencion - Queja del Cliente"
Or A.Asunto="No Identifico al Destinatario"
Or A.Asunto="Entrego Sobre Abierto y sin Cubierta Plastica"
Or A.Asunto="Acuse de Recibido llenado por el Distribuidor"
Or A.Asunto="Devoluciones Verificadas")
And A.TipoGestion=2
And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2

GROUP BY A.Asunto;

Y la segunda:
Citar
SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT

FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP

WHERE A.CodRegion = REP.CodRegion
And      A.IDSucursal = REP.IDSucursal
And     (A.Asunto="A"
Or A.Asunto="B"
Or A.Asunto="C"
Or A.Asunto="D"
Or A.Asunto="E"
Or A.Asunto="F")
And A.TipoGestion=2
And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2

GROUP BY A.Asunto;

Estas son para unos reportes, pero imaginense, los reportes quedaban así: (notar la parte o sección que dice Auditoria de Calidad)
http://img299.imageshack.us/img299/9392/re...stcalidavi0.jpg

Ahora quedan asi: (notar la parte o sección que dice Auditoria de Calidad)
http://img292.imageshack.us/img292/9449/re...stcalidagy2.jpg

mejor tarde que nunca verdad  :)

 :hola:

163
MS Access / Re: Sql Que No Ordene Los Datos
« en: Sábado 9 de Diciembre de 2006, 23:46 »
la bd pesa casi 3MB y en una bd en blanco para ver si podía al menos importar esas dos tablas pues, me comio el access en eso  :blink:

lo que si puedo improvisar por ahora ya es el poner en escrito como son estas tablas, voy...

DISTMASIVA_GESTCALIDAD
CodRegion (Numerico Simple)
IDSucursal (Texto 5)
Fecha (Fecha corta)
ID (Numero simple)

DISTMASIVA_GESTCALIDAD_DETALLE
ID (Numero Simple)
Asunto (Texto 50)
Cant (numero entero largo)
CodRegion (numero simple)
IDSucursal (texto 5)
Fecha (fecha corta)
TipoGestion (numero simple)

Bueno esas son las dos tablas
entonces tal vez a pie pueda metersele datos, asi como por ejemplo el link del screenshot que puse (porque una imagen vale más que mil palabras  :) ) y la SQL también ya está puesta en el primer post.

bueno voy a cruzar los dedos, al menos yo ya llevo bastante tiempo sentado frente al pc, ya al pararme suena como cuando se despega una calcomania  :lol: todo pegajoso LOL! sino, le sigo mañana o si logran algo me avisan bueno  :comp:

164
MS Access / Re: Sql Que No Ordene Los Datos
« en: Sábado 9 de Diciembre de 2006, 21:40 »
porque el ingreso de estos datos los trabaje por Matriz en VB porque eran muchos datos y no queria hacer tantos campos de tabla como Asunto o Motivo, asi que en un Campo llamado "Asunto" meto el Label(i).Caption y en otro campo el Text(i).Text el valor numerico.

y lo comento ilustrandolo con la siguiente imagen  :P

http://img292.imageshack.us/img292/4638/tablasgr6.jpg

Desde los ID=3 hasta todos los ID=4 son los datos que trata esta SQL, porque los que dicen ID=1 y los ID=2 son otros datos, otro tipo de gestion (TipoGestion=1). Entonces si cuento no sirve porque por ejemplo, contemos los ID=3 (hay 15) y de los ID=4 tambien hay 15) siempre serán 15 para ese tipo de ingreso, si yo cuento hasta el ultimo ID=3, ¿cómo hago para que el contador, vuelva a contar desde 0 al empezar los ID=4 en una SQL?

La tabla pequeña es como la general y de datos básicos y de control, y la otra, la más grande son el detalle de esos ingresos, en VB funciona fino este tipo de proceso, y en Crystal pues exceptuando el problema del orden, tambien funciona todo bien, tanto camino recorrido sin problemas y andando todo bien para caer en este pequeño pero importante detalle del orden  &lt;_&lt;

PD: la relacion que hay entre ambas tablas es de "1 a Muchos" tabla izquierda la pequeña y tabla derecha la de detalles, eso con respecto al ID que si es único en la tabla pequeña.

165
MS Access / Re: Sql Que No Ordene Los Datos
« en: Sábado 9 de Diciembre de 2006, 19:59 »
si tengo que pensar en otra porque ahora que lo veo, el contador tampoco me sirve  :nosweat:

ojala exista algo en sql que permita ordenar por longitud de string o algo asi porque sino, pues tendre que aprender a hacer hasta magia  :D  hehehe

166
MS Access / Re: Sql Que No Ordene Los Datos
« en: Sábado 9 de Diciembre de 2006, 19:35 »
:(  Tampoco puedo porque CodRegion e IDSucursal son iguales tambien, porque el programa que conecta a esta BD debe gestionar distintas regiones del país y el campo IDSucursal es un abreviativo de la Sucursal

Ejemplo:
Citar
REGION             CodRegion
Capital                      1
Centro                      2
Oriente                     3
Occidente                 4
Zulia-Occidente         5

Cada Region tiene 8 o más Sucursales, en cada ciudad o más de una en una ciudad

Entonces si el programa que trabaja con esta BD y sus SQL se usa en, una region, siempre sería bajo esa Sucursal

Ejemplo:
IDSucursal = MBO
IDSucursal = MDA
IDSucursal = COJ

Son abreviaciones de la Ciudad en donde está la Sucursal u Oficina.
Entonces todos estos registros que se trae la SQL son de la misma region, y de la misma oficina, es decir, todos los registros tienen CodRegion=5 y IDSucursal=MBO

Esto está así porque en una misma Tabla se meten los registros de todas las sucursales de cada region, y por SQLs y código se filtra la información por parámetros, o lo que yo llamaría, campos que ayudan a identificar a qué Region y a qué Sucursal pertenece cada Registro, además de su ID único, claro.  No me servia hacer Tablas pr Sucursal o por Region porque las Sucursales son algo que se Eliminan o se Crean nuevas, y las Regiones, bueno siempre son y seguirán las de siempre.

¿será que le agrego un campo más a la tabla, pero que sea un campo contador? tal vez podría servir porque no hay datos únicos entre registros que permitan ordenarlo  :unsure:

167
MS Access / Sql Que No Ordene Los Datos
« en: Sábado 9 de Diciembre de 2006, 17:55 »
hola buenas a todos y todas

No sé si se le ha presentado el caso a alguien pero tengo una SQL que me trae unos datos sin problemas, pero me los trae en orden alfabetico y necesito que sea por orden de ingreso, validarlo por campo Fecha no sirve ya que puede ser 10 o 20 registros por la misma fecha, y la tabla No tiene campo ID único.

Esta es la SQL:
Código: Text
  1.  
  2. SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT
  3.  
  4. FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP
  5.  
  6. WHERE A.CodRegion = REP.CodRegion
  7. And      A.IDSucursal = REP.IDSucursal
  8. And     (A.Asunto=&#34;Sobres Entregados&#34;
  9. Or A.Asunto=&#34;Sobres Devueltos&#34;
  10. Or A.Asunto=&#34;Entregas Verificadas&#34;
  11. Or A.Asunto=&#34;Entregas Realizadas Correctamente&#34;
  12. Or A.Asunto=&#34;Mala Atencion - Queja del Cliente&#34;
  13. Or A.Asunto=&#34;No Identifico al Destinatario&#34;
  14. Or A.Asunto=&#34;Entrego Sobre Abierto y sin Cubierta Plastica&#34;
  15. Or A.Asunto=&#34;Acuse de Recibido llenado por el Distribuidor&#34;
  16. Or A.Asunto=&#34;Devoluciones Verificadas&#34;
  17. Or A.Asunto=&#34;A&#34;
  18. Or A.Asunto=&#34;B&#34;
  19. Or A.Asunto=&#34;C&#34;
  20. Or A.Asunto=&#34;D&#34;
  21. Or A.Asunto=&#34;E&#34;
  22. Or A.Asunto=&#34;F&#34;)
  23. And A.TipoGestion=2
  24. And A.Fecha&#62;=REP.Fecha1 And A.Fecha&#60;=REP.Fecha2
  25.  
  26. GROUP BY A.Asunto;
  27.  
  28.  

Quise ver si podía quitar o cambiar el GROUP BY A.Asunto por uno de Fecha pero igual debe estar el campo Asunto para que la estructura de la SQL funcione, ya que es el campo protagonico en esto, pero el orden como trae los datos no me sirve.

El ingreso es este:
Citar
Sobres Entregados
Sobres Devueltos
Entregas Verificadas
Entregas Realizadas Correctamente
Mala Atencion - Queja del Cliente
No Identifico al Destinatario
Entrego Sobre Abierto y sin Cubierta Plastica
Acuse de Recibo llenado por el Distribuidor
Devoluciones Verificadas
A
B
C
D
E
F

Pero la SQL me los trae asi:
Citar
A
B
C
D
Devoluciones Verificadas
E
Entregas Realizadas Correctamente
Entrego Sobre Abierto y sin Cubierta Plastica
F
Mala Atencion - Queja del Cliente
No Identifico al Destinatario
Sobres Devueltos
Sobres Entregados

Simpre he usado SQLs sencillas y cortas y es hora que llevo un corto tiempo haciendo SQLs algo más relacionales y no sé si exista alguna clausula o indicación en sentencias SQL que permita corregir esto, lo que he buscado y leido hasta el momento no me ha direccionado a la solución buscada.

 :unsure:

168
Visual Basic 6.0 e inferiores / Re: Aprendiendo Visual
« en: Viernes 24 de Noviembre de 2006, 18:10 »
Hola!

Pues la funcion que yo conozco en vb que mide la longitud, sea variable o objeto en un form es Len

Ejemplo:

If Len(TextBox1.Text)>8 Then
  MsgBox "Disculpe, pero ha excedido la longitud máxima permitda de ingreso", vbInformation, "Longitud Excedida"
  Exit Sub
End If

resto del codigo en caso de no ser >8 sea guardar datos, etc con respecto a algun campo ID.

Tambien está otro que es Mid(string, number, number) que indicandole tomaría de un string solo X caracteres o algo así, perdon por dar una info vaga del mid es que lo he usado poco y no recuerdo ahorita como le va lo suyo  :unsure:

El Mid yo lo use en una ocasion para tomar el titulo de una ventana, pero solo parte de su titulo, es decir, suponiendo que el titulo de la ventana sea:
Empresa Oficina [ABC] pues yo guardaba del todo el string solo el ABC asi:
Mid(Form1.Caption, 18, 3)
cuenta de derecha a izquierda y al llegar al caracter 18 toma los 3 caracteres, descartando el resto.

Con el Mid uno le indica que quiero tomar en una variable, por ejemplo, solo el caracter 4 al 6 de una cadena, y se le dice comenzar desde la izquierda o desde la derecha para tomar esos caracteres y descargar el resto de los demas caracteres.

Bueno tal vez es el Len el que necesitas  :)
bueno eso espero  :unsure:

PD: yo tampoco nunca he tenido la ayuda del vb, por eso siempre he dicho que los que tenemos una pc con internet debemos estar muy agradecidos de ello  :)

 :comp:

169
Visual Basic 6.0 e inferiores / Re: Ayuda Urgente Con La Instalacion Visual Basic 6.0
« en: Jueves 23 de Noviembre de 2006, 18:51 »
oye al parecer entonces que el porcentaje mayor del problema apunta a que es tu sistema, deberias buscar en internet algun programa que limpie y desembasure tu registro de windows, tal vez usar software como el Tunne Utility o algun otro, desintalar programas que aun tengas y que en la actualidad no uses durante ya un tiempo, abrir el administrador y sacar de memoria programas que se cargan al iniciar el sistema, en caso de algun conflicto de archivos dll y volver a ejecutar el setup del VS, desactualización del windows no debe ser ya que a mi parecer tienes conexion a internet, la peor solucion y nada gustosa a tomar seria reinstalar (tal vez formatear disco) tu windows.  :(

170
Visual Basic 6.0 e inferiores / Re: Datareport
« en: Jueves 23 de Noviembre de 2006, 00:59 »
Citar
El porque quiero hacerlo asi es por varios motivos, entre ellos el que siempre que uso este metodo y paso el programa a cualquier persona para que lo use en su ordenador nunca funciona debido a que falta no se que archivo, que supongo sera algun .OCX pero no se cual es y por tanto no puedo incluirlo en el paquete de instalacion del programa para su perfecto funcionamiento.

Y como haces el instalador? con qué programa empaquetas todo?  :huh:
a menos que sea que solo haces el .exe en VB y ese es el que entregas.
Creo que los ejecutables si funcionan cuando el Form es sencillito y no tiene controles o referencias a librerias, es decir, todo super simple.
Pero en otros casos es necesario hacer un instalador.
El empaquetador del Visual Studio no es confiable pero puede usarse para saber las dependencias del programa (DLLs, OCXs, y cualquier otro archivo, algunos .DEP, etc)

Citar
Otro motivo es que el programa para el que tengo esta duda no usa ninguna base de datos para su funcionamiento principal y para llegar a imprimir el reporte tengo que crear una base de datos solo para esto y actualizarla cada vez que el programa realice alguna de las operaciones que quiero mostrar en dicho reporte.

Uhmmm... tu programa no almacena nunca datos, debe ser un programa que se le meten datos en la ventana pero que todo esos datos estan solo en memoria y realizas cualquier cosa (operacion matematica, etc..) datos que usas para hacer algunos procesos pero que no necesitas conservarlos (guardarlos). Pero se te ha presentado la necesidad de imprimir el resultado de esos datos ingresados.

Hacer una BD solo para una salida a un reporte, pues si, se ve como que no muy necesario o requerido solo para eso, que de hecho si podría servir, tal vez conservando un historial pero no es la idea. En la maoyoria de los casos un Reporte representa traerse informacion de alguna parte (en la mayoria de los casos) por eso no entendia, pero tus datos a imprimir solo estan en Textbox o en variables, en memoria al momento.

Has intentado en vez de llevar eso a un reporte, el ver por el .Print? a mi esa exigencia aun no se me ha presentado, no sé para algun futuro  :unsure:
Lo de una BD con una sola Tablita podría ser como ultima opción, es decir, al menos hay un plan B o plan de contingencia (rompa el vidrio en caso de emergencia) :nosweat:

Pues hay que buscar sobre como llevar el contenido de objetos (Text o Label, variables, etc) del Formulario al datareport y tambien probar con lo de .Printer del Form haber que tal.

171
Visual Basic 6.0 e inferiores / Re: Datareport
« en: Jueves 23 de Noviembre de 2006, 00:03 »
Citar
mi duda es si se puede de alguna forma imprimir el mismo datareport sin necesidad de tener que usar una conexion a la base de datos con el dataenviroment, es decir, mandando nosotros los resultados al datareport de alguna manera.

hola Daggoth disculpa mi pregunta pero...  :huh:
porqué deseas ver la manera de que el reporte haga lo suyo, pero con la opción de no usar el DataEnvironment o de no estar conectado a la BD? es decir, qué problema tiene el DataEnvironment para no querer usarlo como puente.

Citar
Bueno, pues yo lo que quiero es saber si ademas de este metodo, existe algun metodo para imprimir un datareport sin necesidad de tener que crear un archivo access, es decir, si puedo mandar a mi datareport los datos directamente de algun modo para que al iniciar la aplicacion no me diga siempre que estan mal los datos de origen porque no tengo ese archivo access y por tanto no lo tengo asociado a mi datareport.
¿Por qué tu programa o reporte tendría que perder la conexión con la BD?  :huh:

Si en vez de una BD (sea access o SQLServer, Oracle, Postgred, MySQL) usarias por ejemplo guardar los datos en un archivo TXT y traertelos al reporte, sería peor, una BD sería lo ideal, porqué tu programa perdería conexión, y ocasionaria tal problema en relacion del reporte con los datos?  

todo lo que pregunto lo apunto al el porqué no usar el DataEnvironment o porque tu programa llegaría a perder la ruta o conexión con la bd. :unsure:

172
Visual Basic 6.0 e inferiores / Re: Ayuda Urgente Con La Instalacion Visual Basic 6.0
« en: Miércoles 22 de Noviembre de 2006, 23:45 »
Hola Gallar!

Es probable que tu CD tenga algun problema, o mira a ver si instalandolo en otra PC presenta el problema. Ese archivo parece ser el Wizard (Asistente) de instalación que inicia el programa para instalar. Porque si tu Windows está actualizado en ServicePack y es un Windows actual, pues debe ser el CD, muy probablemente.

Y ese .exe está dentro (empaquetado) dentro del SETUP.exe porque yo busque ese archivo en mi CD y en mi PC y no está. Si el CD sirve en otra PC tienes que ver si tu Windows está actualizado el Service Pack (SP) o ver si algun programa da conflictos en alguna DLL que por casualidad comparta o que no pueda acceder porque otro programa está usando la libreria en el momento. En el caos de ser el CD, pues sea porque la superficie del CD está rayada o tu archivo SETUP.EXE está corrupto (en caso de ser CD copia, se copio mal, no sé) pues tendrás que buscar otro.  :ph34r:

saludos  :hola:

173
Visual Basic 6.0 e inferiores / Re: Ventana Con 30 Campos
« en: Miércoles 22 de Noviembre de 2006, 18:07 »
cpmario:
Citar
El problema que planteas pudiera solucionarse también, colocando todas las causas, de 'no entrega', en un ComboBox y seleccionando solo una de ellas, si hay varias causas, se seleccione la más relevante. El único problema sería que la causa fuera 'Otra', para lo cual habría que darle oportunidad al capturista que escribiera el motivo.

Oops!! se me habia pasado esta parte
Si yo pense en eso tambien, ponerlo todo en un combo pero el problema era el usuario tendria que estar desplegando el combo muchas veces, además al pulsar el boton guardar se guarda todo de una vez, con un combobox tendría que estar adjutando cada item del listado en alguna variable, tabla, etc.. para luego guardar.  :(

Asi como ha quedado creo que esta muy bien porque eso de hacer una tabla co 30 campos, realmente no sé como saldrian los datos para un repote ya que no todos los campos se llenan, y hablando mas de Filas y no de Registros (para verlo mejor) no serviria en el reporte, aun colocando un largo WHERE Ausente<>"" AND .... en una sql validando cada campo de los 30 en la tabla, ya me daba vueltas todo de que asi no podia ser, tal vez si para el programa pero no para reporte alguno.

 :hola:

174
Visual Basic 6.0 e inferiores / Re: Ventana Con 30 Campos
« en: Miércoles 22 de Noviembre de 2006, 16:37 »
compadres ya lo resolvi B) y viniendo corriendo a exponerlo, indico que es precisamente la solucion que dice el buen amigo F-Tanori  :good:

La Tabla que guarda lo que está en el recuadro Azul tiene estos campos:
TR_SERVICIOS (este ID es unico)
TipoServicio
TipoGestion
Fecha
ID
IDSucursal
Dias_Habiles
CodRegion
Total1 --> Total (TextBox en amarillo, Pestaña 1)
Total2 --> Total (TextBox en amarillo, Pestaña 2)

Y la Tabla que guarda lo que está en el recuadro rojo es esta asi:
CAUSAS_NO_ENTREGADOS (este ID si permite repetirse)
ID
Motivo
TipoCNE
TipoServicio
IDSucursal
CodRegion
Cant

Y efectivamente como ha comentado el amigo F_Tanori a matriz se minimizó todo:
Matriz tanto para los Check como para los Text
Aqui sólo la parte de lo de matriz:
Código: Text
  1.  
  2.                 For i = 0 To 48
  3.                     If Text1(i).Text &#60;&#62; &#34;&#34; Then
  4.                         RsCNE.AddNew
  5.                         RsCNE(&#34;CodRegion&#34;) = RsConfig(&#34;CodRegion&#34;)
  6.                         RsCNE(&#34;TipoServicio&#34;) = SERVICIO
  7.                         If i &#62;= 0 And i &#60; 30 Then
  8.                             RsCNE(&#34;TipoCNE&#34;) = 1 'No Imp
  9.                         ElseIf i &#62; 29 And i &#60;= 48 Then
  10.                             RsCNE(&#34;TipoCNE&#34;) = 2 'Imp
  11.                         End If
  12.                         RsCNE(&#34;IDSucursal&#34;) = SUCURSAL
  13.                         RsCNE(&#34;ID&#34;) = LbID.Caption
  14.                         RsCNE(&#34;Motivo&#34;) = Check1(i).Caption
  15.                         RsCNE(&#34;Cant&#34;) = Text1(i).Text
  16.                         RsCNE.Update
  17.                     End If
  18.                 Next i
  19.  
  20.  

Eso del IF i >= 0 And i < 30 Then y el otro con i > 29 And i <=48 Then
es porque el la segunda tabla estoy colocando lo que está en ambas pestañas
y para que no se mesclen los datos de una con la otra, pues lo valido con un campo:
TipoCNE = 1 --> Es No Imputable
TipoCNE = 2 --> Es Imputable

El botoncito que dice LISTO hace la sumatoria de los Text que tengan dato:
Primera Pestaña: Causas No Entregados [No Imputables]:
Código: Text
  1.  
  2.     Dim TotalNoImp As Double
  3.     TotalNoImp = 0
  4.     'No Imp:
  5.     For i = 0 To 29
  6.         TotalNoImp = TotalNoImp + Val(Text1(i).Text)
  7.     Next
  8.     TxtTotalNoImp = TotalNoImp
  9.  
  10.  

El otro botoncito de LISTO de la otra pestaña:
Causas No Entregados [Imputables]:
Código: Text
  1.  
  2.     Dim TotalImp As Double
  3.     TotalImp = 0
  4.     'Imp:
  5.     For i = 30 To 48
  6.         TotalImp = TotalImp + Val(Text1(i).Text)
  7.     Next
  8.     TxtTotalImp = TotalImp
  9.  
  10.  

Asi restauro todos los check y text:
Código: Text
  1.  
  2.     For i = 0 To 48
  3.         Check1(i).Value = 1
  4.         Text1(i).Text = &#34;&#34;
  5.     Next i
  6.  
  7.  

Citar
Tu solucion es bastante burda, por decirlo, suavemente. Pero soluciona tu problema. Que sea lo mas eficiente, es otra cosa.
Burda = sifrino (no importa si ha sido por "decirlo suavemente")
Que sea lo más eficiente es la idea y lo que siempre se trata de buscar

Citar
Si tienes un minima nocion de gestion de base de datos, podrias haber modelo tu problema y asunto arreglado.
R: digo lo mismo que el amigo cpmario sobre esto.

Citar
Por el icono del formulario, espero que no seas de CHILE, por que, deja bastante que desear tu solucion...
El icono es de la empresa, en eso yo no tengo nada que ver.
Y no no soy de Chile y es triste que tal vez tu lo seas, porque tal vez yo no sea un erudito en la programacion o más aun en gestiones de bases de datos, pero al menos no soy pedante.

Te recomiendo que con el ultimo comentario, que en vez de decir lo que piensas, mejor piensa lo que dices, veras que en ese orden no te llevas la sorpresa de un posible disgusto o mal entendido por parte de las personas a quienes te expresas, modera mejor tus palabras para la proxima. O en su defecto mientras sigas con esa actitud (que no te conozco ni te he hecho nada) descarta u omite mis post en el futuro, haste de la vista gorda y lee y participa en el de los otros menos en uno que yo escriba.

A los demás muchachos muchass gracias, no me sorprende que el amigo F_Tanori apreciese con la solución, me alegra no haber pasado antes porque sino, la idea hubiese sido de él (por leerle) y no mia (al menos en esto) por la obsesión y gusto de ver como podía darle la mejor solucion a ello, concordamos en lo mismo y lo coroboro al verlo.  :comp:

gracias muchachos  :kicking:

175
Visual Basic 6.0 e inferiores / Re: Ventana Con 30 Campos
« en: Martes 21 de Noviembre de 2006, 23:05 »
me voy a tomar un tiempito  &lt;_&lt;  de puro análisis a pensar a papel y lapiz sobre esto, porque haciendo lo ultimo escrito sirve para el programa, pero no para los reportes.

Si algunos campos no se llenan, quedara el campo vacio o con un 0 en la tabla
(suponiendo que le indique al programa que si no hay nada, que ponga un 0 o deja el campo vacio)

En el reporte no podría poner todos esos campos, 30 campos, ni siquiera con hoja horizontal y con fuente de letra 8 entrarian todos, a muy pegados unos con otros y no sabría como hacer por algun Query el que salgan los datos siempre y cuando tengan un valor <>"" o <>0.

a darle pelea  :lightsabre:  :comp:

así sea que me tome varios dias o más a puro papel y lapiz hehehe  :P

Páginas: 1 ... 5 6 [7] 8 9 ... 15