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

#121
Hola
Como tú entenderás para obtener números aleatorios no se hace "magia". Hay un algoritmo que calcula los números.

Ese algoritmo calcula los números basándose en algo. Si parte de la misma base obtiene los mismos números. Por eso debes decir que para hacer el algoritmo parta de algo diferente cada vez.

La base numérica que se utiliza para partir el algoritmo se cambia con la orden randomize.
randomize (numero)

Si cambias de número cambias de valores. Con el mismo número siempre los mismos valores.

Por eso la costumbre suele ser partir del número de serie de la fecha o cualquier cosa semejante
randomize now
por ejemplo para que parta con el número correspondiente a la fecha/hora actual.

;D
#122
hola

Pongamos que quiero conectar un drive con un dir con un filelist de forma que si cambio de unidad me salgan las carpetas, y si elijo una carpeta me salgan los archivos en filelist.

Conectar el dir1 con el drive
sub drive1_change
dir1.path=drive1.drive
end sub


Conectar el dir con el file
sub dir1_change
filelist1.path=dir1.path
end sub


Ahora solo te queda ajustar el pattern y eso en el filelistbox, pero esas propiedades ya las mirarás.

Dicho esto, te aconsejo que pruebes también el objeto FileSystemObject (tendrás que instalar la referencia de scripting).

Dim F as new filesystemobject
Ahora el objeto F tiene una propiedad 'drives' que es una colección de unidades en tu ordenador (incluídas unidades de red). Cada una de estas unidades tiene un montón de propiedades (avalilablespace, filesystem, drivetype, ...)

Si además lo utilizas junto con un listview tendrás la posbilidad de vistas en arbol, etc para hacer el acceso a las unidades y carpetas tal y como quieras.

Con ello tienes un dominio total del sistema de ficheros y puedes manipular archivos, manejar trayectorias, nombres, extensiones, leer, crear y escribir archivos, ...

Y luego con windows scripting host podrás acceder a las carpetas especiales del sistema.

La siguiente opción será usando la API, pero probablemente eso aún lo tienes un poco lejos. Son algo liosas y es mejor que al principio te centres en manejar bien los objetos que tienes a mano.

Un saludo
#123
Hola
Pues al hacer la conexion string puedes facilitar los datos de usuario y clave. Con eso es suficiente (en ADO).

En DAO al abrir la base de datos con opendatabase puedes facilitar el nombre de usuario y clave. (o si es un data tienes dos propiedades para ello).

Un saludo
#124
No has borrado el campo y vuelto a crear tio
jajaja

Si modificas la estructura LA TIENES QUE SALVAR jajaja
#125
¿Te conectas por ADO, por DAO, por ODBC, por Microsoft Jet?

¿Es Access, Mysql, SQL Server, Oracle?

¿Como esperas que te contesten si no aportas datos?
#126
Que yo sepa access no tiene ningún comando para vaciar tablas jajaja

Citarpor cierto... he probado a borrar los campos autoincrementales y luego a volverlos a crear y me sigue guardando el autoincremental de antes ... xD
Eso es porque no has borrado el campo y lo has vuelto a crear. Si lo hubieras hecho empezaría de nuevo por 1

;D
#127
¿Y si tienes los registros con un campo autoincremental para que quieres el limit?
base.execute "delete * from tabla where codigo=tuvalor
¿Que ganas añadiendo a eso un límite si ya le has dicho que borre los códigos que tienen valor X y ese valor X es un valor único en la tabla porque es un campo autoincremental?

:rolleyes:
#128
Hola
El servidor SQL con toda seguridad tiene una ip fija y le corresponde un nombre. No tienes que adivinarla.

Otra cosa es una situación ideal en la que no supieras donde está ni como se llama. En este caso tendrías que empezar hacer un broadcast y escanear en cada ip encontrada el puerto del sql server (que no se cual es).

Plantéate esa pregunta en una situación ideal, no merece la pena. Un servidor sql tiene una ip fija de 100 veces 100.

Un saludo
#129
Citar¿no tiene un comando parecido al truncate de sql?
compactdatabase "recorta" el tamaño de la base de datos hasta el mínimo en que quepan todos los registros.

Es una buena costumbre usarlo en bases de datos que se usan mucho para evitar problemas de bases de datos corruptas.

Citarpara enviar sentencias en los updates que solo afecten a un registro en donde se supone kque va intercalado el TOP 1 ?

No te entiendo bien, en principio tienes que buscar una claúsula where que la cumpla solo el registro que tu quieres.

Por eso es una muy buena costumbre en cada tabla crear un campo autonumérico que sirva para identificar el registro sin ninguna duda.

;D
#130
Hola
Pues borrar todo
dim Base as database
set base=opendatabase("c:\...\datos.mdb")
base.execute "delete * from tabla"


Para cambiar el autoincremental lo que tienes que hacer es eliminar el campo y volverlo a crear.

Para ello deberás acceder a la colección de índices (habitualmente está indexado) y borras el índice, luego accedes a la colección te tablas y te situas en la que necesitas y allí accedes a la colección de campos y lo eliminas.

Luego lo vuelves a crear.

Ya puestos tambien podrías hacer un compactdatabase para que quedara físicamente vaciada.

Un saludo