Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Hans el Topo

#531
Cita de: kichan en 20 Diciembre 2006, 18:52 PM

Tengo una aplicacion la cual tiene varios objetos data, resulta que a la hora de hacer mi programa
a cada objeto Data, le puse la propiedad DatabaseName  indicandosela explicitamente, es decir
con una ruta unica, (C\windows\programa.exe),  de esta manera funciona bien en mi compu, pero
a la hora de crear el instalador y que sea instalado en otra pc, y se instale en cualquier
carpeta va a tener problemas a la hora de hallar los objetos Data, mi pregunta es la siguiente
como puedo hacer, para que esta propiedad sea asignada al momento de que el usuario instale
la aplicacion o en el momento en que el programa sea ejecutado, o de que manera puedo hacer
para que al instalarse el programa pueda encontrar sin ningun problema los archivos access
que corresponden a la propiedad Databasename de el objeto Data.


weno si son controles en tiempo de diseño
cuando tu pones la ruta con el generador supongo, cortas todo y solamente dejas el nombre de la base de datos
de esta manera con tener la base de datos simplemente en la misma carpeta que el ejecutable ya te funciona

si lo tienes exo en tiempo de ejecución pues o pones simplemente el nombre y tienes la base de datos en la misma carpeta o pones App.Path & "\" & nombrebasedatos para marcar la ruta
#532
Este post se lo recomiendo a todos los que utilizan bases de datos xD a mi me vino muy bien
intenta hacerlo en tiempo de ejecución enviando la sentencia directamente sobre la conexión (cn.execute sql)

Cita de: soplo en 22 Junio 2006, 20:40 PM
No has leído mucho la verdad

Declarar variables
Dim Cn as adodb.connection, Cmd as adodb.Command, Rec as adodb.Recordset
Dim Sql as string


Iniciar la conexión
set Cn=new adodb.connection
Cn.open la_string_de_conexión


Ejecutar un comando
sql="delete tabla where dato='" & valor & "'"
Cn.execute sql


Abrir un recordset
set rec=new adodb.recordset
rec.open string_de_recordsource,Cn,,adcmdtext


Acceder a un campo
p$=rec!dirección

Acceder a las propiedades de un campo
p$=rec.fields("nombre_campo").propiedad
donde propiedad puede ser 'name', 'type','value', ..., etc

Utilizar un objeto command
set Cmd=new adodb.command
cmd.commandtype=adcmdtext
cmd.activeconnection=cn
cmd.commandtext=sql
cmd.execute

El tipo puede ser desde una tabla a una sentencia sql pasando por un procedimiento almacenado.

Ejemplo de un comand que genera un recordset
dim Cn as adodb.connection, Cmd as adodb.command, Rec as adodb.Recordset

Set Cn=new adodb.connection
cn.open connectionstring, usuario, clave

set Cmd=new adodb.command
set Cmd=new adodb.command
cmd.commandtype=adcmdtext
cmd.activeconnection=cn
cmd.commandtext="select * from tabla order by nombre"
Rec=cmd.execute


Y esto en el modelo de datos ADO. El DAO es mas rápido y para cosas pequeñas mejor (especialmente con access). ADO es mas completo y para bases de datos sql.

RTFM
#533
no me gusta pero parece ser que por ahora e sla única solución xD

los otros métodos lo hacen transparente de verdad y puedes tocar el resto de cosas que ves, aqui según veo lo que hace es lanzar una screen y ponerla de fondo jaja

gracias por la info xD
#534
Programación Visual Basic / Re: Ayuda!!!
20 Diciembre 2006, 00:50 AM
Cita de: dPix en 20 Diciembre 2006, 00:13 AM
Cita de: Hans el Topo en 19 Diciembre 2006, 23:49 PM
no tiene ningun sentido agregar datos al programa
si quieres registrar el programa agrega la clave sobre el registro, ni que fuese dificil

Ya, si tienes razón, pero yo lo decía para que la clave no se pueda transportar para otros PC's, aunque pensándolo así podrías cifrar la clave del registro, ¿no?

para evitar que la clave se exporte a otro programa y tal... registro online, yo no veo otra solución xD

la clave en el registro claro que tiene que estar cifrada xD

pero si alguien quiere copiarla igual le da xk ya que copy/pastea el valor sin más xD


#535
Programación Visual Basic / Re: Ayuda!!!
19 Diciembre 2006, 23:49 PM
no tiene ningun sentido agregar datos al programa
si quieres registrar el programa agrega la clave sobre el registro, ni que fuese dificil
#536
de primeras...¿k error te da?

Viendo que utilizas un controlcito y dando por correcto el nombre del campo nose que puede fallar.


los campos se pueden meter asi

adomensajes.recordset!nombrecampoapelo=valor
adomensajes.recordset![nombrecampoapelo]=valor


una vez que metas te mueves a un registro para que refresque


adomensajes.recordset.update
'o
adomensajes.recordset.movefirst


muchas veces va más rapido visual que la base de datos y suele dar problemas de refrescos xD

en el caso que tengas el recourdsource en diseño agregalo también en tiempo de ejecución (a veces da fallos)

como comento celaya comprueba los permisos de la base de datos y los de conexión






#537
el código es bastante bueno, pero si le añades un gif/control en estilo transparente, no te toma el fondo que hay detrás del gif sino que te lo pinturrajea, ¿alguien sabe como solventarlo?
#538
Programación Visual Basic / Re: Problema ComboBox
19 Diciembre 2006, 20:26 PM
Cita de: Jareth en 19 Diciembre 2006, 20:13 PM
El problema es coger los datos del txt.
Gracias.

esta mil millones de veces explicado por el foro dale al botón de buscar que te saldran cientos de ejemplos xD
#539
Programación Visual Basic / Re: Broma Colmena xD
19 Diciembre 2006, 00:31 AM
jaja muy gracioso, solo te falto subir el source
#540
Añadido nuevo ejemplo de etiquetas...
:huh: