• Miércoles 14 de Mayo de 2025, 03:22

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 - J.M.Movilla

Páginas: 1 ... 10 11 [12] 13 14 ... 17
276
Sobre los Foros de SoloCodigo / Re: A SOLOCODIGO
« en: Sábado 19 de Abril de 2003, 17:25 »
He interpuesto hoy una encuesta (http://foros.solocodigo.com/viewthread.php?tid=3181), pero al parecer la he redactado inadecuadamente, puesto que no se presenta como tal, sino como un tema normal.

Les ruego, si ello es posible, hagan las oportunas correcciones para que quede en formato de ENCUESTA, o que me informen sobre cómo realizarla para que los miembros puedan expresar su opinión y que sirva para que, si están de acuerdo con mi planteamiento, el foro se haga más "rentable"

Gracias!!!

277
Dudas informáticas / Re: Por un foro mejor
« en: Sábado 19 de Abril de 2003, 14:22 »
De los últimos 17 mensajes en que yo he intervenido, SÓLO 1 concluye con mensaje de quien inició el tema. Los otros 16 tienen una o varias soluciones al problema planteado y NADIE SABE SI LAS RESPUESTAS HAN TENIDO UTILIDAD O NO HAN SERVIDO PARA NADA... De esta forma estas intervenciones en el foro nadie va a utilizarlas, puesto que se ignora si resolvieron o no el problema que originó el tema.

Para bien de todos nosotros y de cuantos entren en el foro buscando ayuda, RESPONDE, POR FAVOR:

¿ No te parece que quien plantea una cuestión o una duda debe aceptar el compromiso implícito de CONCLUIR EL TEMA con su opinión respecto a si la respuesta brindada es válida para dar solución al problema planteado ?

278
Visual Basic 6.0 e inferiores / Re: Uso de DBgrid con Codigo no con DataControl
« en: Sábado 19 de Abril de 2003, 13:58 »
Esperemos que viendo cómo tienes definida la variable de fecha, con tu database a la vista, podamos solucionar este error.

Saludos

279
Visual Basic 6.0 e inferiores / Re: Uso de DBgrid con Codigo no con DataControl
« en: Viernes 18 de Abril de 2003, 23:09 »
Está claro que lo que falla es la definición de la fecha, cuyo formato no reconoce la SQL.

Prueba con
paso = DateValue(""" & DTPicker1 & """)
quitando las comillas simples de la SQL
...where fechadevolucion = " & paso

y espero que se te solucione.  Ya me tendrás informado.

Saludos y suerte

280
Visual Basic 6.0 e inferiores / Re: Uso de DBgrid con Codigo no con DataControl
« en: Jueves 17 de Abril de 2003, 13:41 »
Bueno, creo que tú lo que quieres es definir las propiedades del Data de forma que puedas actualizarlas en tiempo de ejecución. Pues simplemente haces esto:

Data1.Visible = False

SQL = "Select............
Data1.DatabaseName = App.Path & "biblio.mdb"
Data1.RecordSource = SQL
Data1.Refresh

(TE SOBRAN LAS INSTRUCCIONES set mibase Y set puntero)

Saludos y suerte

281
Visual Basic 6.0 e inferiores / Sobre DataReport
« en: Jueves 17 de Abril de 2003, 13:25 »
Hola, amigo Gerard:

Lo que te pasa es que ordenas presentar el report sin indicarle ningún criterio; por eso te presenta los 50 registros que tienes en la base de datos, lo cual es lógico...

Estudia cómo actúan los Comandos 5 y 6 del ejemplo que te adjunto, y verás el por qué de ese comportamiento. Y luego aplicas a tu caso el filtro que se indica para el Command6, ya verás cómo te aparecen sólo los datos del cliente que se constate en el filtro.

Saludos y suerte

282
Pon la siguiente instrucción:

DataEnvironment.Connection1.ConnectionString = "Data Source = " & Ruta (& "DBName.mdb")

Lo que está entre paréntesis sobra si Ruta contiene ya el nombre de la base de datos.

Eso, lógicamente, suponiendo que previamente hayas definido (directamente en el propio objeto DataEnvironment, o también por código, como prefieras):

DataEnvironment.Connection1.ConnectionSource = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False"

Saludos y suerte

283
Visual Basic 6.0 e inferiores / Re: alguien sabe algo de codigo de barras
« en: Martes 15 de Abril de 2003, 23:44 »
Pues, mira: lo primero que necesitas es un scanner-lector de códigos de barras, instalado en tu equipo. Y lo segundo, haber instalado también el software apropiado, que viene con el lector; luego leerte las instrucciones donde se te explica cómo interpretar la señal que el lector emite, y recogerla (habitualmente) en un textbox.

Si tienes el hard, el resto es muy simple.

Saludos y suerte

284
Visual Basic 6.0 e inferiores / Conexion SQL con VB
« en: Martes 15 de Abril de 2003, 11:05 »
Perdona, renegado; veo que tú cometes el mismo error que yo cometía al cambiar a Visual, porque lo tenemos adquirido de los lenguajes que hemos usado anteriormente: la última línea de tu código, en Visual Basic hay que definirla así:

Public SRVSISTEMA As String, CATSISTEMA As String, UsuarioMed As String, PasswordBase As String

porque en otro caso las tres primeras variables se considerarían como Variant.

Saludos

285
Visual Basic 6.0 e inferiores / Configuración de SetUp
« en: Lunes 14 de Abril de 2003, 21:11 »
Yo creo, Izurde, que no te has fijado en todo lo que el empaquetador te permite hacer. Muchas veces pulsamos el botón [Siguiente] sin leer con detalle qué mandamos hacer. Quizá por eso no te has dado cuenta de que en la penúltima ventana puedes seleccionar dónde crear el grupo cuando hagas la instalación del paquete, y HurriCrack se refiere precisamente a eso, "además" de la descripción de ubicación de ficheros.

Saludos

286
Efectivamente, eso era lo que tú decías; pero ya te digo al inicio de mi respuesta anterior, que eso es tan simple como seleccionar la tabla que quieras borrar y pulsar la tecla [Supr] o [Del]. Te pregunta si estás seguro de eliminar esa tabla...

¿Qués es lo que te pasa? ¿Que no te permite esa opción? ¿No será que tienes confeccionada la tabla con Access 2000 y quieres anularla con Access 97?

Si es eso lo que te ocurre, cierra el fichero y ejecuta en Herramientas, Utilidades de la base de datos, Convertir base de datos, A la versión de Access actual...  Seleccionas la base de datos que quieras modificar y le das el nombre que te presenta por defecto "db1". Abre ese fichero db1 y AHORA YA PUEDES ELIMINAR LAS TABLAS QUE NECESITES.

Luego tendrás que ejecutar el procedimiento contrario: Herramientas, Utilidades de la base de datos, Convertir base de datos, A una versión anterior de Access... Le das el nombre de "db2" y luego renombras este db2 al nombre de tu base de datos.

Supongo que haya quedado claro todo. Porque ¡sólo me faltaba que tampoco fuera éste el problema que tienes!!! En tal caso, explicotéate bien... porque me tienes jugando a las adivinanzas...

Saludos y suerte

287
Visual Basic 6.0 e inferiores / Re: Reloj intocable...
« en: Domingo 13 de Abril de 2003, 17:13 »
Me da la impresión, amigo _EL_DJ_LU, de que no te va a quedar más remedio que desconectar tu aplicación de esa dependencia del reloj interno, porque éste puede modificarse desde el sistema y desde mil aplicaciones que tú no vas a poder controlar.
Mira a ver si defines una variable en que se refleje el Time, y si te es posible hacer que tu aplicación dependa del valor de esa variable; en otro caso no te va a quedar más remedio que cuestionar si el Time es correcto cada vez que tengas que tomar una decisión dependiente del Time..., lo cual no va a ser muy elegante que digamos...

Saludos y suerte

288
Según planteas la pregunta parece que quieres saber cómo borrar una tabla desde el mismo Acces, lo cual es tan simple como seleccionar la tabla y pulsar la tecla [Supr] o [Del].

Como no creo que sea eso lo que te crea dificultad, interpreto que quieras decir borrar la tabla desde Visual Basic.  Si fuera así, te adjunto el ejemplo que proporciona el MSDN de Visual, del que posiblemente no dispongas:

Sub TableDefX()
   Dim dbsNeptuno As Database
   Dim tdfNuevo As TableDef
   Dim tdfBucle As TableDef
   Dim prpBucle As Property

   Set dbsNeptuno = OpenDatabase "Neptuno.mdb")

   ' Crea un objeto TableDef nuevo, anexa los objetos
   ' Field a la colección Fields y anexa el objeto
   ' TableDef a la colección TableDefs del objeto Database.
   Set tdfNuevo = dbsNeptuno.CreateTableDef("NuevoTableDef")
   tdfNuevo.Fields.Append tdfNuevo.CreateField("Fecha", dbDate)
   dbsNeptuno.TableDefs.Append tdfNuevo

   With dbsNeptuno
      Debug.Print .TableDefs.Count & _
         "TableDefs en " & .Name

      ' Enumera la colección TableDefs.
      For Each tdfBucle In .TableDefs
         Debug.Print "  " & tdfBucle.Name
      Next tdfBucle

      With tdfNuevo
         Debug.Print "Propiedades de " & .Name

         ' Enumera la colección Properties del objeto
         ' TableDef nuevo, sólo imprime las propiedades con valores no vacíos.
         For Each prpBucle In .Properties
            Debug.Print "  " & prpBucle.Name & " - " & _
               IIf(prpBucle = "", "[vacío]", prpBucle)
         Next prpBucle

      End With

      ' Elimina el TableDef nuevo ya que esto es un ejemplo.
     .TableDefs.Delete tdfNuevo.Name
      .Close
   End With
End Sub

Y si tampoco es esto, pues... ya dirás...

Saludos y suerte

289
Visual Basic 6.0 e inferiores / Crystal - Win NT - Citrix y VB
« en: Viernes 11 de Abril de 2003, 19:02 »
Me da la impresión de que el error que reportas se debe a que no has hecho un .Refrehs de la database o un .Requery del Recordset inmediatamente después de abrirlo...

Ojalá se te solucione con ese detallito...

Saludos y suerte

290
Visual Basic 6.0 e inferiores / Re: Matriz de controles
« en: Viernes 11 de Abril de 2003, 18:54 »
He hecho varias pruebas y me ha quedado suficiente claro este concepto:

No puede pasarse un array de controles indefinido.

Tienes, sin embargo, fácil la solución:

Sub CargaLista(Valor as integer,Lista as ListBox)
Lista.Additem Valor
End sub

Y la llamada la haces así:
Call CargaLista(Valor, LstNuestraLista(i))

con lo cual no pasas el array de controles, sino el control con la posición ya definida.
Y ASI FUNCIONA PERFECTAMENTE.

Saludos

291
Ha habido varias consultas al respecto. En una de ellas quedó claro que la fórmula que no falla es:

set=dbbase.opendatabase(App.path & "basededatos.mdb"),false,false,";pwd=contraseña")

Al menos eso dice ferbasic, a quien debes agradecerle la solución si te ha servido de tal...

Saludos y suerte

292
Visual Basic 6.0 e inferiores / Re: Para J.M.Movilla o el que me pueda ayudar
« en: Viernes 11 de Abril de 2003, 10:33 »
Me parece que os estáis volviendo chirivitas con esto del registro y las extensiones...

Yo tengo registrada la librería Abc.dll. Renombro Abc.dll como Abc.old (antigua Abc, que podía haber denominado Abc.ddd o Abc.lll). Ahora copio en el mismo directorio un fichero que se llama Abc.dll; como ya tengo registrada esa libreróa, sigue registrada Abc.dll. Y si me falla, la borro y renombro Abc.old como Abc.dll... Espero haberme explicado y que quede claro que el renombrar la librería no es  para mantenerla registrada con otro nombre, sino para dejarla inactiva, sin borrarla, por si necesito reutilizarla.

Saludos

293
Visual Basic 6.0 e inferiores / Re: Matriz de controles
« en: Viernes 11 de Abril de 2003, 10:13 »
Yo creo, amigo Egala, que los parámetros que pretendes pasar no son Controles sino datos numétricos, contenidos en unos textbox.
Lógicamente ha de darte error si los quieres definir como textbox, cuando son 0, 1, 2, 3, 4...
¿De acuerdo?

Si lo que deseas es tener unos textbox accesibles desde cualquier formulario, define un formulario fantasma (frmTemp) con 6 controles textbox, que lo puedes tener incluso permanentemente oculto, invisible, y refiérete a él desde donde te interese con
for i = 0 to 5
frmTemp.TextBox(i).text = i
next
Y luego accedes a esos valores como mejor te vaya: x1 = frmTemp.TextBox(3).Text, por ejemplo.

Ya contarás si esto cumple tus deseos.

Saludos y suerte

294
Visual Basic 6.0 e inferiores / No logro hacer el bloqueo de registros.
« en: Jueves 10 de Abril de 2003, 18:08 »
Yo creo que es casi imposible ayudarte a conseguir que funcione tu código. Te aconsejo que borres todo y lo rehagas, porque estás mezclando órdenes que no tienen nada que ver con las variables a las que se las aplicas, tienes instrucciones que no pueden darte nada más que errores... Yo creo que así no sólo no consigues bloquear el registro, sino que no conseguirás ni siquiera abrir el fichero. ¿A tí no te da errores por todas partes?


Private Sub Text1_LostFocus()
If Text1.Text = "" Then
MsgBox "No puede dejar el código vacío"
Text1.SetFocus
exit sub
endif
If Not IsNumeric(Text1.Text) Then
MsgBox "El código debe ser numérico"
Text1.Text = ""
Text1.SetFocus
exit sub
End If
Text2.SetFocus
end Sub


Private Suc cmd_grabar_click()
Set rs = base.OpenRecordset("dctos", dbOpenDynaset, False, dbPessimistic)
rs.Requery

rs.FindFirst ("Codigo = '" & Text1.Text)
' (Yo no uso nunca el Seek, y por lo tanto no lo sé utilizar...)

if rs.Nomatch then
rs.AddNew
else
rs.Edit
endif
Rs!codigo = text1.text
Rs!detalle = text2.text
rs.update
rs.Close
End Sub

Supongo que si lo cambias a algo parecido a esto podrías conseguir que funcionara; pero lo estoy haciendo "de memoria" y con instrucciones que debo ajustar a tu forma de programar, no a mi forma...

Y recuerda que cuando se trata del mismo tema debes MODIFICAR TU MENSAJE, en vez de añadir un mensaje nuevo.


Saludos y mucha suerte

295
Visual Basic 6.0 e inferiores / Inputbox y Configuración Regional
« en: Jueves 10 de Abril de 2003, 11:39 »
Utiliza este código; espero te lo resuelva

Private Sub Text1_LostFocus()
    Text1.Text = CSng(Replace(Text1.Text, ".", ","))
End Sub

Saludos y suerte

296
Visual Basic 6.0 e inferiores / Re: Agregar texto de textbox a un maskedit
« en: Jueves 10 de Abril de 2003, 11:25 »
Me alegra el que se te haya solucionado el problema; pero considero que ñesa es una solución poco estable. Porque ¿qué te resultaría si la cifra, en lugar de tener 9 de longitud, tuviera 8? ¿Qué te daría si introdujeses 12345678?. Yo supongo que tú quisieras obtener 1.234.567-8, y sim embargo te aparecería 12.345.678- y ERROR.
La solución creo que es Format( a, "##.###.##0-0") si bien yo nunca he usado el guión dentro de una máscara...

Saludos y suerte

297
Visual Basic 6.0 e inferiores / Re: Para J.M.Movilla o el que me pueda ayudar
« en: Miércoles 9 de Abril de 2003, 19:42 »
Me parece, amigo FER_LUCAS33, que se te ha olvidado adjuntar esos 3 ficheros a que haces referencia.

Probablemente sean actualizaciones, que debieran haberse publicado en cuanto se modificó la versión de Office; pero Microsoft tiene esas cosas, y no nos queda más remedio que seguirle la corriente...

A la espera de esos ficheros, un saludo

298
Visual Basic 6.0 e inferiores / como bloquear a nivel de registro
« en: Miércoles 9 de Abril de 2003, 19:23 »
Hay muchos modos de realizar el bloqueo de un registro. Te incluyo un código que te da garantía total.

¡Atención! En el ejemplo no tengo en cuenta el refresco de la lista cuando han hecho modificaciones del fichero otros usuarios.  Ese es un problema de otra categoría, que supongo lo tengas resuelto.  Lo digo por si alguien toma este ejemplo y se piensa que con él puede hacer un programa garante en red...

Saludos

299
Visual Basic 6.0 e inferiores / Como saber si un DataGrid tiene Datos
« en: Miércoles 9 de Abril de 2003, 17:39 »
Yo creo que un DataGrid NO TIENE REGISTROS, tiene filas (Rows):
El número de filas las defines tú al "dibujar" el formulario, y lo único que puedes averiguar es el Row en que está situado el puntero...
El número de registros se corresponde con el Recordset que alimenta al DataGrid, es decir Adodc1.Recordset.RecordCount: ése es en realidad el número de filas con datos que tiene el DataGrid.

Repito que ésa es mi idea, aceptando, por supuesto, opiniones más autorizadas, como se dice rutinariamente en los informes periciales...

Saludos

300
Visual Basic 6.0 e inferiores / Re: Hacer Pausa...
« en: Martes 8 de Abril de 2003, 20:31 »
Con esta librería

Public Declare Function SleepEx Lib "kernel32" (ByVal dwMilliseconds As Long, ByVal bAlertable As Long) As Long

Y defines dos variables como Long, por ejemplo:
Public nTime As Long
Public Sleep As Long

(si pones esta librería y esta definición de variables en un módulo, te servirán para toda la aplicación)


Cuando te interese hacer una pausa, das a nTime un valor EN MILISEGUNDOS; por ejemplo:
nTime = 2000   ' para 2 segundos
 
y la llamada sería

Sleep = SleepEx(nTime, 1)

Saludos

Páginas: 1 ... 10 11 [12] 13 14 ... 17