• Sábado 10 de Mayo de 2025, 05:29

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 - giomar

Páginas: 1 ... 8 9 [10] 11
226
Visual Basic 6.0 e inferiores / Re: Busqueda en una Tabla
« en: Martes 26 de Agosto de 2003, 19:49 »
Desde luego que si, para desarrollar sistemas debes hacerlo en base a codigo ADO ya que es mas robusto que el control Data.
El Data solo es como para familiarisarse con el lenguaje VB almenos yo lo hice asi pero para aplicaciones reales tienes que utilizar el codigo ADO.
Ahora si no me equivoco tu buscas lo que yo llamo busqueda incremental.
De ser asi:
Entonces te debe servir la aplicacion que te dejo a continuacion
OJO: aqui uso el control DataGrid el control DBGrid no lo empleo.
Espero que te sirva...
Un saludo y suerte..
<<_GIOMAR_>>

227
Visual Basic 6.0 e inferiores / uso de la palabra Nothing
« en: Martes 26 de Agosto de 2003, 19:38 »
Primero que nada te recomiendo que en lo posible no utilices variables de tipo Variant devido a que ocupan espacio en memoria.
Ahora el Nothing se usa para destruir objetos, por ejemplo:
cuando trabajamos con ADO se crean objetos que se uzan como recipientes de informacion los famosos RecordSet bueno estos objetos hay que destruirlos al momento de descargar los formularios debido ha que si no hacemos esto esas conexiones a la base de datos se quedaran abiertas en memoria y eso con el tiempo es contraprodusente, entoces la forma en que se destruyen esos objetos es la siguiente:
set rs=nothing
de igual manera se destruye la conexion
set cn=nothing
he inclusive algunos hasta el mismo formulario
set MiForm=nothing
Para eso se usa el Nothing para destruir objetos.
Ahora si tu quieres saber si una variable esta vacia tienes que igualar esa variable a Empty osea: Variable=empty
Espero que sea lo que buscabas
Un saludo...
<<_GIOMAR_>>

228
Visual Basic 6.0 e inferiores / Re: SUMAR COLUMNA DE UN DATAGRID
« en: Martes 26 de Agosto de 2003, 19:08 »
Como veo que estas empleando codigo ADO entonces prueba con esto.
La solucion mas rapida y facil es usar instrucciones SQL para ello utilizaras de otro RecordSet donde almacenaras el numero de fatura y la cantidad de facturas que cada una de elllas tiene ¡Me parece que eso es lo que buscas!
Coloca el siguiente script donde deseas que se realice la operacion:
dim rs as new Adodb.RecordSet
set rs=new Adodb.RecordSet
set rs=NombreConexion.Execute("Select Num_Fac as Factura,count(Num_Fac) as Cantidad From factura where Num_Fac='" & txtNum_Fac & "' GROUP BY Num_Fac")
txtTotal.text=rs.fields(1).value
set rs=nothing
De esta manera obtendras la cantidad de facturas que tienes.
Ahora solo tendras que acomodar el codigo segun como estes realizando tu aplicacion.
Si sigues teniendo problemas puedes enviar tu aplicacion o el codigo para poder ayudarte mejor.
Un saludo y suerte
<<_GIOMAR_>>

229
Visual Basic 6.0 e inferiores / Re: Error a instalar mi aplicación.
« en: Viernes 22 de Agosto de 2003, 18:00 »
Si has hecho un sistema con Crystal Report se supone que lo tienes instalo en tu maquina entonces tendrias que ver por medio de las Referencias y Componentes todas las Dll y OCX que usa el Crystal son faciles de reconocer pues llevan su nombre, una vez halladas tendrias que darte al trabajo de copiarlas y  registrarlas en la PC que deseas que se ejecute.

Bueno pero tengo una duda al generar el EXE el asistente de empaquetado no agrega al CAB los DLL y OCX que usa el proyecto por que segun tengo entendido eso es lo que hace.
Si por algun motivo no te diste cuenta de eso y deberas el asistentes agrega los DLL y OCX al CAB entonces en una de las ultimas ventanas de dialogos del instalador te muestra los archivos que esta incorporando en el CAB y la ruta donde estos archivos se van a copar al momento de la instalacion, en esta ventana que la verdad no me acuerdo orita cuando aparece o que titulo lleva es donde tienes que cambiar la ruta de los archivos DLL y OCX a SYSTEM para que al momento de instalarlos se copien alli.
Inclusive ya no tienes la necesidad de registrarlo pues el instalador lo haria.
Espero que ayude en algo
Un saludo...
<<_GIOMAR>>

230
Visual Basic 6.0 e inferiores / Re: SUMAR COLUMNA DE UN DATAGRID
« en: Viernes 22 de Agosto de 2003, 17:46 »
Mira la idea es recorrer todo el datagrid por medio de un bucle en el cual debera estar un acumulador que ira sumando las cantidades del campo que desees para posteriormente mostrarlo en el textbox que deseas.
El codigo seria el siguiente:
Dim acumulador as integer
acumulador=0
For a=1 to Datagrid1.Row
      acumulador=acumulador+Datagrid1.Columns(IndiceDeColumna_a_Sumar).Value
End for
text1.text=acumulador
Ahora si el resultado es un valor numerico y deseas que se establesca un formato pues cambia la siguiente linea:
text1.text=acumulador
Por
text1.text=Format(acumulador, "standard")
Y nada mas
Suerte....
<<_GIOMAR_>>:good:

231
Visual Basic 6.0 e inferiores / Para quienes dominan SQL
« en: Viernes 22 de Agosto de 2003, 17:32 »
Con el codigo del amigo J.M.Movilla obtuve el resultado que desea.
Lo adicione en mi aplicacion y resulta a la perfeccion.
Con esto doy por concluido el caso de este vendito caracter(') que ya me tenia loco..
Claro sin antes agradecer a todos los que pusieron de su parte para ayudarme a resolverlo.
Un saludo compañeros...
Hasta la proxima...
<<_GIOMAR_>>:beer::jumpie:

232
Visual Basic 6.0 e inferiores / Re: Sobre OCX
« en: Viernes 22 de Agosto de 2003, 16:47 »
Gracias Brroz el resultado es mejor del que esperaba inclusive me ayuda a simplificar el codigo para lo que estaba pensando en hacer.
Por lo que veo Chiaravel me gano en la pregunta pues tambien empezaba a tener esa duda.
Si cada vez que ejecute mi aplicacion registro el componente pues quizas con el tiempo el registro de ese componente se malogre por decirlo de alguna manera entonces la pregunta seria:
¿Hay alguna forma de porder preguntar al sistema si dicho componente ya se encuentra regitrado? para ovbiar el registro del mismo cada vez que se ejecute la aplicacion.
Pienso que seria bastante interesante conocer eso, se podrian evitar muchos problemas.
Hasta la proxima
Un saludo a todos y muchas gracias por todo....
!De verdad a buena hora decide entrar en este Foro¡
:good:

233
Visual Basic 6.0 e inferiores / Re: Para quienes dominan SQL
« en: Jueves 21 de Agosto de 2003, 19:40 »
La idea del programa es que segun se vayan ingresando datos al text en la lista se vean todos los elementos que comienzan con esos dichos, lo que comunmente se le llama Busqueda Incremental de Datos, por eso es que lo programo asi.
Ahora probe el codigo y en realidad ya no se produce el error pero existen dos detalles:
1. Que embes de Chr(29) es Chr(39) cuando lo hago con Chr(29) no pasa nada en cambio con Chr(39) resulta.
2. Que pasa si en mi base de datos necesite hacer una busqueda incremental por proveedores y un proveedor tenga el nombre de "Empresa Ronal's" haciendo el programa como me han ayudado solo podria escribir hasta "Empresa Ronal" pues al colocar ese vendito caracter (') saldria el mensaje de error "el proveedor no existe" mi pregunta es esta
Estaria bien eso?
y que tal si en la tabla eisten los siguientes registros:
Ab'aaaaaa
Ab'bbbbbb
Ab'cccccccc
Ab'dddddd
Osea a lo que voy es de que el programa puede hacer una correcta busqueda incremental de datos pero no puede ser capaz de listarme un solo producto o lo que sea al colocar ese vendito caracter(').
Un saludo...
Y Gracias por su tiempo..
<<_GIOMAR_>>

234
Visual Basic 6.0 e inferiores / DataReport
« en: Jueves 21 de Agosto de 2003, 19:00 »
Bueno no se como esta cargando el FlexGrid, pero supongamos que utilizas un RecordSet para ello, entonces para llenar el FlexGrid debes utilizar algo parecido a esto:
'en el general
Dim cnFarma As New ADODB.Connection
Dim rsPrecios As New ADODB.Recordset

Private Sub Form_Load()
Set cnFarma = New ADODB.Connection
ruta = App.Path + "DB.mdb"
cnFarma.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + ruta
Set rsPrecios = New ADODB.Recordset
rsPrecios.CursorLocation = adUseClient
rsPrecios.Open "SELECT idarticulo,descripcion, precio  FROM articulo order by descripcion", cnFarma, adOpenStatic, adLockReadOnly
rsPrecios.MoveFirst
MSFlexGrid1.Rows = 1
MSFlexGrid1.Clear
MSFlexGrid1.FormatString = "<Codigo" & Space(20) & "|<Descripcion" & Space(20) & "|<Precio "
Do While Not rsPrecios.EOF
    MSFlexGrid1.AddItem rsPrecios.Fields(0).Value & vbTab & rsPrecios.Fields(1).Value & vbTab & rsPrecios.Fields(2).Value
    rsPrecios.MoveNext
Loop
End Sub

'y para trasladar los datos al datareport:
Private Sub cmdImprimir_Click()
On Error Resume Next
With dtrPrecios
    For fila = 1 To MSFlexGrid1.Rows - 1
        For columna = 1 To MSFlexGrid1.Cols - 1
            .Sections("Sección1").Controls("txtCodigo") = MSFlexGrid1.TextMatrix(fila, columna)
            .Sections("Sección1").Controls("txtDescripcion") = MSFlexGrid1.TextMatrix(fila, columna)
            .Sections("Sección1").Controls("txtPrecio") = MSFlexGrid1.TextMatrix(fila, columna)
        Next columna
    Next fila
    Set .DataSource = rsPrecios
    .Show
End With
End Sub
'al descargar el form
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
rsPrecios.Close
Set rsPrecios = Nothing
End Sub

Ahora si tienes en cuenta los nombres de los objetos en el DataReport todo este listo.
Espero que te ayude....
Suerte y un saludo
<<_GIOMAR_>>

235
Visual Basic 6.0 e inferiores / Re: Guardar informacion de un grid
« en: Jueves 21 de Agosto de 2003, 17:43 »
Que base de datos estas utilizando

236
Visual Basic 6.0 e inferiores / Re: Sobre OCX
« en: Jueves 21 de Agosto de 2003, 17:34 »
Lo probe y resulta, la verdad no se como no se me ocurrio probar con el SHELL.
El motivo por el cual hice esta consulta era por que estoy comenzando a crear componentes (simples pero bueno recien comienzo) y notaba que seria un poco fastidioso que el usuario que quizas queria abrir la aplicaion tubiera que hacer todo el proceso del registro como copiarlo a la carpeta SYSTEM o SYSTEM32 y ejecutar el comando de registro entonce se me ocurrio que el mismo programa lo haga pero el problema ahora es el SITEMA OPERATIVO como bien sabes las rutas de las carpetas donde se debe copiar el OCX o DLL cambian segun el sistema operativo.
Bueno parte de este inconveniente lo tengo resuelto ya que puedo saber por codigo que sistema operativo estoy uzando pero lo que desconozco es la ruta que tendria que especificar en cada uno para copiar el archivo y hacer el registro propiamente dicho.
Osea me explico se que para Win2000 la ruta es "C:WINNTsystem32....dll" o "C:WINNTsystem....dll" porque estoy trabajando con este sistema péro ¿De los demas desconozco?.
Ahora no se si me podrias facilitar esa informacion quizas tienes un listado ya perparado o estas mas informado sobre eso.
A si estas interezado puedo pasarte el codigo de como averiguar el sistema operativo lo pidemelo y te lo envio al instanste.
Saludos...
Y gracias  por la ayuda anterior.
<Giomar>:comp:

237
Visual Basic 6.0 e inferiores / Re: Sobre OCX
« en: Miércoles 20 de Agosto de 2003, 23:42 »
Como puedo registrar mis OCX o DLL desde VB.
Es posible hacer eso

238
Visual Basic 6.0 e inferiores / Re: BOTON DE AYUDA
« en: Miércoles 20 de Agosto de 2003, 21:51 »
Seria bueno si alguien proporciona mas informacion sobre ello

239
Visual Basic 6.0 e inferiores / Re: Para quienes dominan SQL
« en: Miércoles 20 de Agosto de 2003, 21:29 »
Agrege a mi proyecto el codigo que me indicas pero no obtuvo frutos.
Aqui te dejo el codigo para que lo puedas revisar y poder detectar el error.
Dim rsbusca As New ADODB.Recordset
Dim sql As String

Private Sub Form_Load()
Set rsbusca = New ADODB.Recordset
rsbusca.CursorLocation = adUseClient
sql = "select * from productos order by nombreproducto "
rsbusca.Open sql, cn, adOpenDynamic, adLockReadOnly
lista.ListField = "nombreproducto"
Set lista.RowSource = rsbusca
lista.Refresh
Text1.Text = Empty
End Sub

Private Sub Text1_Change()
If Len(Trim(Text1.Text)) > 0 Then
    rsbusca.Close
    rsbusca.Source = "select p.idproducto, p.nombreproducto, p.idcategoría, p.cantidadporunidad, p.preciounidad, c.NombreCategoría  from productos p, categorías c where p.idcategoría=c.idcategoría and nombreproducto like '" & Text1.Text & "%'  order by nombreproducto"
    rsbusca.Open
    If rsbusca.RecordCount = 0 Then
        MsgBox "El Producto no Existe", vbCritical, "AVISO"
        Text1.SetFocus
        Set lista.RowSource = Nothing
    Else
        Set lista.RowSource = rsbusca
        lista.Refresh
    End If
Else
        rsbusca.Close
        rsbusca.Source = "select p.idproducto, p.nombreproducto, p.idcategoría, p.cantidadporunidad, p.preciounidad, c.NombreCategoría  from productos p, categorías c where p.idcategoría=c.idcategoría order by nombreproducto"
        rsbusca.Open
        Set lista.RowSource = rsbusca
        lista.Refresh
End If

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
Text1.Text = Replace(Text1.Text, Chr(180), Chr(29))
'Ha tambien probe con el IF y salia el mismo mensaje de error.
End Sub


Un saludo..

240
Visual Basic 6.0 e inferiores / Re: Iniciar con windows
« en: Miércoles 20 de Agosto de 2003, 21:11 »
Bueno eso no era lo que buscaba de todas maneras gracias!

241
Visual Basic 6.0 e inferiores / ¿Como copio un archivo de una pc a otra en
« en: Miércoles 20 de Agosto de 2003, 20:33 »
Puedes hacer uso del comando FileCopy
sintanxis:
FileCopy RutaArchivoOrigen, RutaArchivoDestino
Suerte..

242
Visual Basic 6.0 e inferiores / ¿Como armar una base de datos?
« en: Miércoles 20 de Agosto de 2003, 20:24 »
En realidad solo en tu base de datos deben tener la tabla que indicas y como ya te lo indico Brroz por medio de instruccion SQL obtendras la informacion que requieres.

243
Visual Basic 6.0 e inferiores / Re: Iniciar con windows
« en: Miércoles 20 de Agosto de 2003, 20:18 »
Primero:
Te entiendo la idea si no me equivoco mi aplicaion se registrara cada vez que se ejecute !No es asi¡, bueno ahora mi duda al respecto es que si al hacer eso a la larga con tantas ejecuciones de la aplicaion no malograria el registro de Windows.
y
Segundo:
Creo que seria mejor que sea una aplicacion dedicada para el registro, bueno por lo que veo aqui tambien surge la misma duda.
En conclusion antes que nada mi duda es que si no malograre de alguna manera el regitro de windows.
Si eso no ocurre pues adelante.

244
Visual Basic 6.0 e inferiores / Re: PROBLEMAS CON DECIMALES 0,00 €
« en: Miércoles 20 de Agosto de 2003, 20:10 »
Solo basta con poner el evento LostFocus del TextBox que deseas el siguiente codigo:
text1.text=format(text1.text,"standard")
y eso hara que al perder el foco se asigne un formato a lo escrito en el TextBox.
ejm:
Si en el TextBox escribiste 25 o 25.5 entonces el nuevo resultado sera 25.00 o 25.50, el formato general que se establece es el siguiente 999,999.99
Espero que sea lo que buscabas.
Saludos
:beer:

245
Visual Basic 6.0 e inferiores / Re: Iniciar con windows
« en: Miércoles 20 de Agosto de 2003, 20:01 »
El de copiar a la carpeta inicio de windows ya lo sabia, pero mi duda va a como poder hacerlo desde VB.
¿De que manera podria alterar el registro de windows y hacer que mi aplicacion cargue desde ahi? o quizas de otra forma pero "reitero que sea segura, por favor".
Muchas gracias por tu ayuda.
espero lo siguas haciendo.   :good:

246
Visual Basic 6.0 e inferiores / Re: Iniciar con windows
« en: Martes 19 de Agosto de 2003, 21:28 »
Te antemano agradezco tu atencion.
He desarrollado diferentes aplicaciones en visual basic pero ahora busco la manera de que mis aplicaciones puedan iniciarse junto con windows.
me han dicho que hay varias formas de hacerlo pero el problema es que segun lo que me explican lo veo muy complicado y lo que busco en una forma facil, sencilla y sobretodo segura de poder acerlo.
Se que en este foro debe haber alguien que conoce esa forma de hacerlo  y le agradeceria mucho que me ayude a aprenderlo.
Un Saludo...
y nuevamente gracias.
:hitcomp:

247
Visual Basic 6.0 e inferiores / Re: Para quienes dominan SQL
« en: Martes 19 de Agosto de 2003, 20:29 »
Disculpame pero no llego a entenderte lo que me quieres decir.
En el comentario que me das no veo una solucion para lo he indicado.
Si tienes otra idea o puede aclararme mejor la idea que ya me escribistes te lo agradeceria mucho.
Un saludo y nuevamente gracias por tu tiempo

248
Visual Basic 6.0 e inferiores / Re: Para quienes dominan SQL
« en: Jueves 7 de Agosto de 2003, 19:15 »
He notado un problema al trabajar con SQL, por ejemplo he echo una aplicacion donde realizo una busqueda incremental de datos a una tabla algo sencillo si pero la dificultad que encuentro es al colocar en mi TextBox un apostrofe ( ' ).
Lo que veo que pasa es de que como VB concatena sus variables asi '" & objeto & "' de alguna manera lo confunde, bueno no se con exactitud.
Si alguien sabe como puedo solucionar esto por favor haganmelo conocer.
Ademas voy a dejar la aplicacion con el problema.
Saudos y de antemano GRACIAS.
Giomar...

249
Visual Basic 6.0 e inferiores / Re: Para quienes dominan SQL
« en: Jueves 7 de Agosto de 2003, 19:15 »
He notado un problema al trabajar con SQL, por ejemplo he echo una aplicacion donde realizo una busqueda incremental de datos a una tabla algo sencillo si pero la dificultad que encuentro es al colocar en mi TextBox un apostrofe ( ' ).
Lo que veo que pasa es de que como VB concatena sus variables asi '" & objeto & "' de alguna manera lo confunde, bueno no se con exactitud.
Si alguien sabe como puedo solucionar esto por favor haganmelo conocer.
Ademas voy a dejar la aplicacion con el problema.
Saudos y de antemano GRACIAS.
Giomar...

250
Si no me equivoco todos los sistemas operativos tiene el archvo WIN.INI( bueno solo seria cuestion de buscarlo)
Al abrir el archivo encontraras un linea que dice
LOAD=...
Donde estan los ... debes indicar la ruta del archivo ejecutable y nada mas.
Otra forma es colocando un acceso directo en el carpeta INICIO y obtendras el mismo resultado.
Saludos...

Páginas: 1 ... 8 9 [10] 11