PREGUNTAS CONTESTADAS - Access

 Hay un total de 676 Preguntas.<<  >> 

    Pregunta:  42355 - EFECTUAR UNA BUSQUEDA DE DE UN REGISTRO A TRAVES DE UN COMBO
Autor:  Manuel Mendoza
Soy pasante de informatica y necesito un ejemplo basico de llenado de un combo a partir de un campo especifico de una tabla en access.

y a partir de alli como manipular dicho registro, para modificar sus campos o eliminarlo o llenar campos faltantes del registro especifico.
  Respuesta:  Alejo Landini
en la version 6 del VB hay ya un control que te permite directamente manipular un campo (dbcombo creo que se llama) especifico de una tabla especifica de una tabla de access. pero tenes que tener una conexion hecha con ADODB.
Si no utilizando el combox normal recorres la tablas agregando de manera normal el campo que quiera con el additem y poniendo cuidado en agregar en el indice del campo que estas agragando el bookmark que tiene el regsitro en ese momento.
Entonces cuando selecciones un item de la lista el indice de ese item te devolvera el numero de bookmark del registro de la tabla. con eso deberas hacer simplemete rstrecordset.bookmark = IndiceDelCombo y ya tendras posicionado en la tabla el registro que necesitabas.
Saludos

    Pregunta:  42376 - SINTAXIS PARA OPERACIONES EN ACCESS
Autor:  Salvador Cardoso
Por favor saquenme esta duda ustedes que saben compañeros ya que no se donde buscar algunos ejemplos de operaciones aritmeticas con access asi de como vincular una tabla de access con visual basic 6.0
Se los agradecere muchisimo.
  Respuesta:  the_ma3x
Salvador:
Todo depende de como te vas a conectar. Si la base de datos es de Access 97, solo agrega un control DATA en el formulario y selecciona la base de datos, la tabla (propiedades DATABase y DataSource) y luego agrega tantos controles Text y vinculalos al data y luego al campo de la tabla eso con las propiedades Datasource y Datafield

Si es con Access 2000 Puedes agregar un control ADO (Buscalo en Componentes) y los mismos pasos (Nombres de propiedades cambian). Esa es la manera sencilla de vincularte a una tabla de access. Si lo quieres hacer código, eso ya es otro boleto.

Lo de operaciones aritmeticas, no entiendo que es lo que necesitas hacer.
  Respuesta:  Cesar Armando Perez Gomez
Una recomendacion, de acuerdo con la teoria de base de datos relacionales, debes tratar de evitar el almacenamiento de datos calculados en tablas, por otro lado podes utilizar una consulta para realizar los calculos necesarios, la sintaxis es el nombre de la tabla un punto y luego el nombre del campo., tambien podes enlazarte desde visual basic utilizando el control data, utiliza dos propiedades que son database name, y record source, la primera para el nombre de la base de datos en access, que debe ser una version 97, el access tiene la herramienta para bajar de version, en fin te puedo dar varios tips, escribeme.

    Pregunta:  42455 - COMO HAGO OPERACIONES CON LA HORA
Autor:  hector P. R.
como puedo hacer operaciones con la hora
ejemplo una resta de 14:30 p. m. menos 12:25 p. m.
se puede hacer esta ejecucion?
  Respuesta:  Alejo Landini
hector:
tanto la fecha como la hora en el sistema son numericos del timpo single. basta con restar matematicamente
te doy un ejemplo que te calcula directamente en una consulta de access la diferencia horaria de dos campos con formato fecha y hora:

SELECT Tabla1.h1, Tabla1.h2, cdate( [h2]-[h1]) AS Resultado
FROM Tabla1;

la funcion cdate() lo unico que hace es darte el resultado con fromato de fecha y hora.
salu2
  Respuesta:  Fernando Serantes
Resta las horas sin inconvenientes utilizando variables, un campo de salida de una consulta o un form, por ej: tiempo: horafinal-horainicial . Access internamente utilizara la numeracion de la hora. Luego pudes utilizar las fumciones de hora, minuto y segundos para averiguar cuantas horas minutos o segundos le corresponden a esa resta. ej:

tiempo: horafinal-horainicial
horastiempo: hora(tiempo)
minutostiempo: minuto(tiempo)
segundostiempo: segundo(tiempo)

resultadofinal:
horastiempo & ":" & minutostiempo & ":" & segundostiempo

si sumas varias horas, minutos y segundos por separado
Es decir que usas 3 campos o variables horast; minutost y segundost por separado para calcular subtotales,
ej
HFinal HInicial Ht Mt St
13:29:55 - 12:10:40 1 19 15
14:31:40 - 13:42:40 0 49 00

acces te las sumara sin tener en cuenta que cada 60 seg debe contar 1 min, etc..

totales 1 68 15
ten en cuenta luego de dividirlas luego por 60 y trasladar su respectiva suma.

totales
hora: ent(Suma(Ht))+ ent(Suma(Mt)/60 )
minutos: ent(Suma(Mt))+ ent(Suma(St)/60 )
segundos: etc
la funcion final seria algo asi
THor: Ent((Suma([Hor]))+(Ent((Suma([Min]))/60)))
TMin: Ent(((((Suma([Min]))+(Ent(Suma([Seg])/60)))/60)-(Ent((((Suma([Min]))+(Ent(Suma([Seg])/60)))/60))))*60)
TSeg: Ent((Suma([Seg]))-(Ent(Suma([Seg])/60)*60))

    Pregunta:  42512 - APERTURA TABLA DE SQL
Autor:  David Ascacibar
Hola a tod@s:
Tengo el siguiente problema, tengo un formulario, que lanza un proceso, en el cual, tengo que consultar datos de una tabla Sql que he vinculado.
Al abrirla, me dice que debo usar la instruccion 'dbSeeChanges', y uso este procedimiento:

Dim DB As DAO.Database
Dim TB As DAO.Recordset
Set DB = DBEngine.Workspaces(0).Databases(0)
Set TB = DB.OpenRecordset("dbo_PARTI",,DbSeeChanges)

aún así, no consigo acceder a ella.
También he probado a crear un snapshot, y me deja abrirla, pero no me permite hacer una búsqueda aleatoria, usando las instrucciones 'filter' y 'sort' de esta manera:

Private Sub SELCODIGO_LostFocus()
Dim DB As DAO.Database
Dim TB As DAO.Recordset
Set DB = DBEngine.Workspaces(0).Databases(0)
Set TB = DB.OpenRecordset("SELECT * FROM dbo_PARTI", dbOpenSnapshot, dbSeeChanges)

TB.Filter o TB.Sort 'GENERA ESTE ERROR: Me aparece que el uso de la propiedad no es válido

a quien pueda ayudarme... muchas gracias.
Un Saludo.
  Respuesta:  David Ascacibar
Ya he dado con lo que necesitaba.
Si a alguien pudiera interesarle, lo que he hecho ha sido abrir la tabla como un snapshot, con una sentencia Sql, que me lleve directamente al valor del campo que busco, el codigo seria el siguiente:

Set TB = DB.OpenRecordset("SELECT * FROM dbo_PARTI where [campo]=' " & cuadro_de_texto.value & " ' ", dbOpenSnapshot, dbSeeChanges)

De esta forma he conseguido acceder de forma directa al registro que busco.

    Pregunta:  42555 - QUE ES UN SISTEMA DE RED
Autor:  isabel flores flores alvarez
me gustaria saber muy ampliamente que es un sistema de red???
  Respuesta:  Alejandro Landini
Isabel:
Tu pregunta es muy, pero muy amplia tambien. Espesifica mas sobre lo que quieras saber.

Salu2

    Pregunta:  42565 - CÓMO CREAR UN COMBO QUE MUESTRE LA SELECCIÓN DE UNA CONSULTA
Autor:  Silvia de Oliveira
Tenemos un primer combo que nos muestra los datos de una tabla y queremos crear un segundo combo que una vez seleccionado una opción del primer combo nos muestre los datos relacionados de la segunda tabla con el dato elegido.
  Respuesta:  Silvia de Oliveira
Gracias Oscar y gracias Alejandro.

Al final lo he solucionado de la siguiente forma:

Private Sub Cuadro_combinado1_Change()
Cuadro_combinado2.RowSource = "select [Nombre Submateria] from Submateria where [Nombre Materia]='" & Cuadro_combinado1.Value & "'"
Cuadro_combinado2.Requery
End Sub
  Respuesta:  Oscar Hernando Cabrera
HOLA SILVIA OJALA QUE TE PUEDA AYUDAR CON TU PREGUNTA, SINO CUALQUIER DUDA ME ESCRIBES A [email protected] .

HAZ UNA CONSULTA DE SELECCION LLENAS UNA VARIABLE DE TIPO RECORDSET Y LUEGO CON ESTA VARIABLE HACES UN FOR HASTA EL TOTAL DE REGISTROS DEVUELTOS Y VAS LLENANDO EL COMBO CON EL DATO REQUERIDO.......ES DECIR

Imaginemos dos tablas una de ellas es de proveedores(codprov,nomprov) y la otra productos(codprod,codprov,nomprod) como ves es una relacion de uno a muchos....el primer combo (lo llamaremos combo1) contiene los proveedores, y al selecionar uno quieres que en el otro combo (combo2) o lista, te muestre todos los productos de ese proveedor, entonces en el evento afterupdate (despues de actualizar) del combo1...

Private sub combo1_afterupdate
Dim reg As DAO.Recordset
Dim BaseDatoa as database
Dim Criterio as string

set BaseDatos = CurrentDb

if not isnull(combo1) then

Criterio = "Select nomprod from productos where codprov=" & combo1 & " "
set reg = BaseDatos.OpenRecordset(Criterio)

if reg.recordcount > 0 then
reg.movelast
reg.movefirst

for i=1 to reg.recordcount
combo2.AddItem reg(0)
reg.movenext
next i
end if

reg.close

end if
set BaseDatos = Nothing

end sub

NOTA : SE SUPONE QUE EL PRIMER COMBO TIENE DOS COLUMNAS, UNA DE ELLAS DONDE GUARDA codprov, Y LA OTRA nomprov, LA COLUMNA DEPENDIENTE SERIA 1(DONDE ESTA codprov) LA PRIMER COLUMNA SERIA BUENO QUE LA OCULTARA, EN LAS PROPIEDADES DEL COMBO1(NUMERO DE COLUMNAS COLOCAS 2 Y ANCHO DE COLUMNAS 0;(ANCHO DE COMBO1) PARA OCULTAR LA COLUMNA1).

OJALA TE SIRVA, ME ESCRIBES CUALQUIER DUDA
  Respuesta:  Alejandro Landini
Hola:
Una de las cosas que se me ocurre que podes hacer el lo siguiente.
en el evento "al cambiar.."
Tenes que actualizar el recordset del segundo combo.
ejemplo
Private Sub Cuadro_combinado0_Change()
'Debug.Print Me.Cuadro_combinado2.RowSource
Me.Cuadro_combinado2.RowSource = "SELECT [Tabla2].[Id], [Tabla2].[campo3], [Tabla2].[campo4] FROM Tabla2 where [Tabla2].[campo3] = '" & Me.Cuadro_combinado0.Column(1) & "';"
Me.Cuadro_combinado2.Requery
End Sub

despues vos te fijas que otro evento te sirve para poder optimizar el combo.
en este caso tengo dos combo y cambio en recorsourse del segundo en funcion de los datos del primero. podes complijar la consulta hasta donde quieras.

salu2
  Respuesta:  Oscar Hernando Cabrera
Hola Silvia, espero que te sirva mi respuesta sino me escribes a [email protected].

Para mostrar datos de una tabla en un combo utiliza una consulta en sql, y la guardas en una variable tipo recordset, la consulta llevará la condición que necesitas.

Es decir:
Imaginemos dos tablas: Proveedores(codprov,nomprov) , productos(codprod,nomprod,codprov) como ves es una relacion de uno a muchos.

El primer combo(llameremos combo1), posee los proveedores, y al escojer uno me debe mostar los productos que vende ese proveedor en el otro combo(llamaremos combo2). Ojo el combo1, debe tener dos columnas, la columna clave (codprov) es la primera y debe estar oculta, y la segunda (nomprov), la columna dependiente debe ser la uno (codprov , por que con este campo hare la condicion de la consulta).

Entonces:.....

Private sub Combo1_afterupdate()
Dim Criterio as string
Dim BaseDatos as database
Dim reg As DAO.Recordset

If not isnull(Combo1) then
set BaseDatos = CurrentDB

Criterio = "Select nomprod from Productos Where codprov= " & combo1 & " "
'va con comilla doble y ampersan, por que es tipo numerico, sino iria '" & combo1 & "', comilla sencilla,pegado comilla doble,ampersan.

set reg = BaseDatos.openrecordset(Criterio)

if reg.recordcount > 0 then
reg.movelast
reg.movefirst

for i=1 to reg.recordcount
combo2.additem reg(0)
reg.MoveNext
next i
end if

reg.close

set BaseDatos = Nothing
end if

End sub

    Pregunta:  42927 - MENÚ IMPRIMIR EN EXCEL
Autor:  Iñaki
Buenas,
Haber si alguien sabe la siguiente pregunta: Dentro del menú archivo del access he quitado la opción de Imprimir, ahora lo he vuelto a poner pero me imprime directamente en la impresora predeterminada, sin sacar el cuadro de diálogo de imprimir, sabeis como se puede activar ese cuadro de dialogo para que no me imprima directamente?

MUCHAS GRACIAS

SALUDOS
  Respuesta:  Marta
Hola Iñaki,

No especificas que versión de Access tienes, pero intenta abrir el cuadro de díalogo personalizar de las barras de herramientas, y pulsa con el botón derecho del ratón sobre el menú Archivo y en restablecer, esto vuelve a dejar el menú orginal, si has hecho algún cambio sobre este menú lo perderás, pero en teoría recuperarás el botón de imprimir con el cuadro de diálogo de la impresora. Espero que te funcione.

Un saludo

    Pregunta:  42938 - COMO CONVERTIR UN ARCHIVO .TXT A .MDB
Autor:  Angela Teixeira
Necesito me expliquen como debo hacer para convertir un archivo .txt a mdb, es un proyecto importante.
  Respuesta:  Alex Muñoz
Mas que convertir no necesitaras importar los datos del fichero de texto a una base de datos?
Si es asi, desde el Acces haces un importar y a partir de ahí....cualquier cosa no dudes en contestar!!

    Pregunta:  43016 - XML Y ACCES
Autor:  EmHdtem EmHdtem
Hola:

Nesecito saber si hay una forma de importar una base de datos en XML a Access de manera que todos los datos de la base me los de en una sola tabla, necesito desarrollar este software, pero si hay un Plug In sería mucho mejor, espero me puedan ayudar a resolver mi problema.

Gracias
  Respuesta:  Guillermo Gonzalez
Hola, supongo que estas usando una version de access diferente a la que viene en el office 2003, por que el access 2003 viene 100% compatible con XML, al igual que el word y el excel, si tienes oportunidad de obtener el office 2003 tal vez puedas desarrollar tu aplicacion de una manera mas sencilla.

Saludos

    Pregunta:  43030 - CONSULTA SOBRE DISTRIBUCION DE BD PROTEGIDA
Autor:  esteban caballero
tengo que distribuir copias de una base de datos hecha en acces2000, pero solo deben poder realizarse consultas y no debe dejar ver las tablas ni las relaciones. Obviamente tengo que protegerla del uso de la tecla shift.
Les agradeceria culaquier tipo de guia.
Muchas gracias
  Respuesta:  Victor Muñoz
La función de seguridad de desactivar La tecla Mayuscula durante el arranque de la aplicación accessse puede hacer mediante código; no hay una opción equivalente en la interfaz de usuario.

El Ejemplo se publica en libro de F. Scott barrker el código que desactivará la tecla mayuscula en el arranque, haciendo que la macro autoexec y las propiedades de inicialización siempre se ejecuten:

Si tienes dificultad para conseguirlo puedo enviartelo

|<  <<  35 36 37 38 39 40 41 42 43 44 45  >>  >|