MANDAR CÓDIGOS DIRECTAMENTE A LA IMPRESORA .TEMA DE LOS CÓDIGOS DE BARRAS
que tipo de fuentes de codigo de barras tienes antonio?
Antonio Ruiz Arjona escribió en mensaje<[email protected]>...>Para mandar códigos directamente a la impresora, abre el puerto de la>impresora como si fuera un fichero e imprime directamente en el, para el>tema de los códigos de barras hay unas fuentes que te permiten hacerlo, si>las necesitas te las paso por e_mail>>-------------------------------------------------------------->[email protected]>http://www.redestb.es/personal/a_ruiz>-------------------------------------------------------------->Gonzalo escribió en mensaje <[email protected]>...>>Hola amigos>>>> Estoy haciendo un programa en access 97 para gestionar una TPV.>>Resulta que para abrir el cajón de la tpv parece ser que hay que mandar>>un código de escape a la impresora, pero no se como hacerlo. Según el>>manual de la impresora el código para abrir el cajón es ESC p n t1 t2,>>donde n es un número entre el 1 y el 48 y t1 y t2 son tiempos en>>milisegundos (????) Alguien puede decirme como mandar este codigo a la>>impresora?>>>> También quiero imprimir códigos de barras (desde otra impresora,>>claro) Sabeís como se hace? Muchas gracias.>
COMO HACER PARA QUE LOS FORMULARIOS SALGAN>MAXIMIZADOS
Mejor, añade esta línea en los eventos Form_Load y Form_Activate (cargar yactivar del formulario):DoCmd.MaximizeSaludos,Fernando DuránbOnd, jAmEs 007 escribió en mensaje <[email protected]>...>ALguien me puede decir como hacer para que los formularios salgan>maximizados>siempre, ya que me salen como quieren. Tengo Access 97.>> Gracias, me urge.>BASE DE DATOS GENERE, DE MANERA AUTOMÁTICA, UN INFORME CADA>HORA.
On Fri, 9 Jan 1998 00:30:59 +0100, "Javier" <[email protected]>wrote:
>Hola a todos.>necesito que una base de datos genere, de manera automática, un informe cada>hora. ¿Alguien me echa un cable?.>
Hola Javier, deberías usar el evento 'Incremento decronómetro'. En un formulario, este evento te permite ejecutar unafunción a intervalos regulares de tiempo.
Saludos.
---Fermín Bernaus BerraondoDepto. de InformáticaSAMMIC, S.A.Azpeitia (Gipuzkoa)Spain
E-mail: [email protected]: http://www.sammic.com
BASES DE DATOS QUEDAN MARCADAS COMO ABIERTAS EN ACCESO EXCLUSIVO DE FORMA QUE, A TRAVÉS DE LA RED, NO ME DEJA ABRIR LAS TABLAS
> Tengo una aplicación en visual basic distribuida en varios PCs>de la red, que hace uso de una base de datos local en cada uno de los>PCs.>> Por alguna razón, a veces esas bases de datos quedan marcadas>como abiertas en acceso exclusivo de forma que, a través de la red, no>me deja abrir las tablas (las cuales tengo vinculadas desde mi PC a>cada una de las tablas de los PCs de la red) de una de esas bases de>datos, aún cuando la aplicación está cerrada ya. Lo curioso es que, si>borro la tabla vinculada (adjuntada) y la vuelvo a vincular, entonces>ya me deja abrirlas.>> ¿Alguien sabe si es un bug de Microsoft, o qué es lo que hago>mal?>> Gracias.Hola Fermín, a mi me ocurría algo parecido y observé que el archivo debloqueo (el ficheroLDB que Access genera cuando se ejecuta), no desaparecíaal finalizar la ejecución. Solución: reinstalar Access :-((. Los motivos deque ésto ocurra casi siempre apuntan al registro de Win 95. Busca la clavesiguiente y comprueba los valores por defecto de la lista ( de la ayuda deAccess, busca SetOption).
\HKEY_LOCAL_MACHINES\Software\Microsoft\Jet\3.5\Engines\Jet 3.5.FlushTransactionTimeout=500LockDelay=100LockRetry=20MaxBufferSize= 0MaxLocksPerFile= 9500PageTimeout=5000Threads=3UserCommitSync=YesImplicitCommitSync=NoExclusiveAsyncDelay=2000SharedAsyncDelay=0Te adjunto tres funciones para comprobar vínculos de tablas (TestLink),Refrescar vínculo de una tabla (RefreshTableLink) y refrescar todos losvínculos (RefreshAllLinks), de "los Secretos de Access97" de Anaya. (un buenlibro me parece a mi). Espero que te sirva. Saludos Jom.
MICROSOFT: OFFICE DEVELOPER'S EDITION (ODE)
EL ODE vale una 70.000 Pts + I.V.A.
Skar escribió en mensaje <[email protected]>...>Yo utiliso el ODE y hasta donde se solo viene en Ingles, si necesitas ayuda>avisame>>Skar>[email protected]>www.erols.com/quisbert/>>Juan Carlos Ruiz Ruiz wrote in message><[email protected]>...>>Me gustaría que al guien me dijera si el programa Microsoft: Office>>Developer's Edition (ODE), esta en ingles o si también lo hay en>castellano.>>Si conocierais el precio actual (orientativo) decírmelo.>>
GENERAR UNA CONSULTA QUE MEDIERA LOS CUMPLEAÑOS DE LOS SOCIOS ENTRE DOS FECHAS.
Yo lo tengo preparado para saber los cumpleaños de los alumnos en la semanade la fecha en que estemos. el resultado tiene 3 campos: Alumno, fecha delcumpleaños y años que cumple. te mando el código SQL:
SELECT DISTINCTROW [Apellidos] & ", " & [nombre] AS Alumno, "El " &Format(DateSerial(Year([fecha nacimiento])+[Años cumplidos],Month([fechanacimiento]),Day([fecha nacimiento])),"dddd") & ", " & Format([fechanacimiento],"dd"" de ""mmmm") AS [Día del cumpleaños],Year(Date())-Year([fecha nacimiento]) AS [Años cumplidos]FROM alumnosWHERE (((DatePart("ww",DateSerial(Year(Date()),Month([fechanacimiento]),Day([fecha nacimiento]))))=DatePart("ww",Date())))ORDER BY Format([Fecha Nacimiento],"mm-dd");
Espero que te sirva
--Miguel Angel (ZUMÁRRAGA)[email protected] escribió en mensaje <[email protected]>...Después de dos dias de dolores de cabeza intentando hacer lo que cuentoa continuación lo escrib aquí con la esperanza de que una mente lúcida meeche unamano.
Tengo una tabla denominada "socios" que incluye un campo[Fecha_nacimiento]. Lo que me gustaría hacer es generar una consulta que mediera los CUMPLEAÑOS de los socios entre dos fechas.
Parece fácil, no?. Pues todo lo contrario. Parece que la mejor opción es
select * from socios WHERE format([fecha_nacimiento],"mm/dd") BETWEENfecha1 AND fecha2
pero NO FUNCIONA!
otras opciones pueden ser:
query ="DatePart(" & """" & "y" & """" & ",Format([fecha
nacimiento],'mm/dd')) between " & DatePart ('y', Now()) & " AND " &DatePart("""y""", Now() + Me![CUMPLE_DIAS])
miSQL= "select * from socios WHERE " & query
Pues tampoco funciona!y ya me estoy volviendo loco!!! Hay alguien que me pueda echar unaMANOOOOOOO???
Gracias por adelantado.
mailto:[email protected].
IMPRIMIR EN COLUMNAS
Genérate un informe sencillo, tipo listado, y en Archivo/Configurar páginale dices que quieres imprimir a 4 columnas.Fácil, no?
Javier
BigBen<[email protected] escribió en mensaje <[email protected]>...
Hola Grupo: Mi problema es el siguiente, deseo imprimir las fechas contendidas en una tabla pero de la siguiente manera:
--------> (Durección de impresión)
12/1 25/1 02/2 20/2
28/2 03/3 14/3 29/3
10/4 30/4 15/5 01/6
...........etc.
Debo aclara que el nombre el campo siempre es el mismo, lo que no se como hacer es como hacer para que el puntero avance una posición e imprima el próximo registro.
Gracias
Big..
CONVERSION DE FECHAS
>Tengo un problema con unas tablas importadas.>Resulta que las tablas están sacadas de un sistema que me da en el campo>FECHA (numérico),>960115(aammdd).Siempre nos queda utilizar las funciones utilizadas en las hojas de cálculo:=SerieFecha(Medio([Campo];1;2);Medio([Campo];3;2);Medio([Campo];5;2))
SaludosDesde un formulario en el cual se imponen las condiciones de un filtro,con un boton de comando intento exportar una consulta con talescondiciones, la secuencia que realizo es la siguiente:abrir consulta, aplicar filtro,transferir texto,cerrar consulta.' num_jor = contenido de textbox del formulariostrval = "[id_jornada]=" & num_jorDoCmd.OpenQuery "c_exportar", acNormal, acReadOnlyDoCmd.ApplyFilter "", "[C_exportar]![id_jornada]=" & num_jor
strval = "A:RESULT.TXT"DoCmd.TransferText acExportDelim, "C_exportar Especificación deexportación", "C_exportar", strval, FalseDoCmd.Close acQuery, "C_exportar"
La consulta se abre y el filtro le realiza correctamente, pero altransferir a un archivo texto, pasa del filtro y guarda todos losregistros.¿ Como puedo transferir solo los registros seleccionados?.Lo mismo me ocurre si intento realizar un gráfico a partir de unaconsulta.
DONDE ENCONTRAR FUNCIONES (P.EJ.PASO NUMERO A LETRAS)
Puedes encontrar la utilidad que dices, y muchas cosas ms, en:http://www.abaforum.es/tomasb/access.htm (Informacin procedente de mensajes de Eva y Jess Velasco en Nov./97).
CALCULAR LA DIFERENCIA ENTRE DOS FECHAS
Claro, con DateDiff cualquiera, ¿no? Pues no. Probemos con estas dos fechas: 9-Dic-96 y 1-Mar-97. DateDiff nos dirá que 1 año si preguntamos por los años, 3 meses si le preguntamos los meses, y si queremos saber los dias nos dice que -8 (en negativo). Una persona humana, después de pensar unos segundos, diría que hay 2 meses, y 23 dias entre las dos fechas (si es informático, también dirá "cero años"). Y si fuera entre el 95 y 96, un dia mas por bisiesto.Con la siguiente función tienes el problema resuelto. Eso sí, tienes que llamarla por separado para obtener cada una de las partes de la respuesta:
perendat(fecha1, fecha2, "a") para saber los años perendat(fecha1, fecha2, "m") para saber los meses perendat(fecha1, fecha2, "d") para saber los dias
Si eres un poco manitas con VB, puedes modificarla y pasarle un tipo definido por tí para tenerlo todo de una tacada.
Public Function perendat(fecha1, fecha2, tipo)' tipo: a=años, m=meses, d=diasDim ca As Long, cm As Long, cd As LongDim f1 As Variant, f2 As VariantIf fecha1 < fecha2 Thenf1 = fecha1: f2 = fecha2Elsef2 = fecha1: f1 = fecha2End Ifca = DateDiff("yyyy", f1, f2)If Format(f2, "mmdd") < Format(f1, "mmdd") Thenca = ca - 1End Ifcm = DateDiff("m", f1, f2) - (ca * 12)cd = DateDiff("d", Format(f1, "dd"), Format(f2, "dd"))If cd < 0 Thencm = cm - 1cd = DateDiff("d", DateSerial(Year(f2), Month(f2) - 1, Day(f1)), f2)End IfSelect Case tipoCase "d"perendat = cdCase "m"perendat = cmCase "a"perendat = caEnd SelectEnd Function
ESPERAR A QUE TERMINE UNA APLICACIÓN
Desde Access podemos arrancar otros programas con la función Shell. Hasta aquí no hay problema, solo que Access prosigue la secuencia de comandos sin esperar a que termine el programa arrancado, lo cual puede ser un verdadero problema en algunas ocasiones. Por ejemplo, si la misión del programa llamado es generar un fichero que a continuación queremos importar. Con ésta función, Access 2.0 (más abajo está la solución para 7.0 y 97) esperará a que finalice el programa llamado:
Declare Function ws_GetModuleUsage Lib "kernel" Alias "GetModuleUsage" (ByVal FileName$) As Integer
(La linea anterior debe incluirse en la sección Declaraciones del módulo, y es UNA sola línea)
Function WaitShell(AppName$, mode)Dim hMod As Integer,AppRoot As StringAppRoot = Left$(AppName$, InStr(AppName$ & " ", " "))hMod = Shell(AppName$, mode)If (hMod > 32) ThenWhile (ws_GetModuleUsage(hMod))DoEventsWendElseMsgBox "No se pudo arrancar " & AppRootEnd IfEnd Function
Ahora, todo lo que hay que hacer es llamar a la función WaitShell en lugar de Shell.
El ejemplo anterior es para 2.0. Con Access 7.0 y 97, la sección Declaraciones sería:
Private Const SYNCHRONIZE = &H100000Private Const INFINITE = &HFFFFDeclare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongDeclare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongDeclare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, _ByVal dwMilliseconds As Long) As Long
Y la función WaitShell, además de la Sub WaitForTerm:
Function WaitShell(AppName$, mode)Dim hMod As Long, AppRoot As StringAppRoot = Left$(AppName$, InStr(AppName$ & " ", " "))hMod = Shell(AppName$, mode)If hMod <> 0 ThenWaitForTerm hModElseMsgBox "No se pudo arrancar " & AppRootEnd IfEnd Function
Sub WaitForTerm(pid&)Dim phnd&phnd = OpenProcess(SYNCHRONIZE, 0, pid)If phnd <> 0 ThenCall WaitForSingleObject(phnd, INFINITE)Call CloseHandle(phnd)End IfEnd Sub
PONLE SONIDOS A TU APLICACIÓN
En Access 2.0, incluye estas dos lineas en la sección Declaraciones de un módulo:
Declare Function sndPlaySound Lib "mmsystem" (ByVal lpszSoundName As String, ByVal uFlags As Integer) As IntegerDeclare Function mciSendString Lib "mmsystem" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hWndCallback As Integer) As Long
Y también la siguiente función:
Function myPlaySound (fichero, tipo)Dim l As LongSelect Case tipoCase "wav"l = sndPlaySound(fichero, 1)Case "mid"l = mciSendString("close mymid", "", 0, 0) ' detiene mymid si estaba en playl = mciSendString("open " & fichero & " type sequencer alias mymid" & Chr(0), "", 0, 0)l = mciSendString("play mymid", "", 0, 0)End SelectEnd Function
Para reproducir un sonido, solo tienes que llamar a la función myPlaySound pasandole el path completo del fichero (o el nombre de un sonido del sistema) y el tipo, wav o mid.
Para Access 7.0 y 97, las Declaraciones cambian muy poco, pero lo suficiente para tener que modificar el módulo:
Declare Function sndPlaySound Lib "winmm" Alias "sndPlaySoundA" (ByVal filename As String, ByVal snd_async As Long) As LongDeclare Function mciSendString Lib "winmm" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
La función myPlaySound no hay que modificarla.
CAMBIAR EL TÍTULO DE LA APLICACIÓN
En Access 2.0 también puedes cambiar el título de la ventana principal. Primero incluye estas lineas en la sección Declaraciones de un módulo:
Declare Function FindWindow% Lib "User" (ByVal lpClassName As Any, ByVal lpWindowName As Any)Declare Sub SetWindowText Lib "User" (ByVal hWnd%, ByVal lpString$)
Y también la siguiente función:
Function SetCaption (texto)Dim hWnd%hWnd% = FindWindow%("OMain", 0&)Call SetWindowText(hWnd%, texto)End Function
Para cambiar el título de "Microsoft Access" a "Mi aplicación", puedes llamar a la función, desde código o desde una macro:
SetCaption("Mi aplicación")
PAGINAS WEB SOBRE ACCESS
Return-Path: <[email protected]>From: "Javier Moncada" <[email protected]>To: "ricardo" <[email protected]>Ahí va eso Ricardo, la recopilación de Links es obra de Jordi Mandri yManuel Rojo-García Calderón.
Hola aqui os doy otros Links de Access interesantes:Portugues:http://www.forumaccess.com/Frances:http://www.databaseconcept.com/
http://www.eu.microsoft.com/france/support/produits/office/Access/Ingles:http://www.geocities.com/SiliconValley/Park/7848/access.htmhttp://www.colhill.demon.co.uk/http://www.MOSHANNON.COM/http://www.caryp.com/http://www.ozemail.com.au/~animaliz/zsfree.htmhttp://www.pinpub.com/access/home.htmhttp://www.cobb.com/ima/http://easyweb.easynet.co.uk/~trevor/AccFAQ/http://www.aptitude.com/http://www.mcp.com/que/developer_expert/access97es/access97es.htmlhttp://165.247.202.56/msadp/http://www.foursquare.com/http://www.gfminc.com/accessto.htmhttp://enet.ca/Softoholic/ocxserver/free/Castellano:http://www.arrakis.es/~flopy/http://www.euita.upv.es/deleg/elven/access.htmhttp://www.geocities.com/SiliconValley/7158/index.htmlhttp://www.integrator.es/
INGLEShttp://www.we-do-access.com/information.htmlhttp://www.winsite.com/win3/access/http://www.pc-solutionsinc.com/lucasec.htmhttp://www.enteract.com/~jaysys/http://dbi-tech.com/download.htmhttp://www.accessmonitor.com/announce.htmlhttp://www.arrakis.es/~soria/ACCJUMBO.HTMhttp://www.intellex.net/~cierra/http://members.aol.com/tritecceg/index.htmlhttp://www.wdn.com/ems/lists/accessp.htmhttp://members.aol.com/TriTecCEG/software.htmlhttp://www.microsoft.com/access/work_infodb.htmhttp://rio.engr.washington.edu/~fray/msaccess.htmlhttp://odyssey.apana.org.au/~abrowne/homepage.htmlhttp://www.access-developer.com/http://www.cobb.com/ima/index.htmhttp://www.advisor.com/av.htmlhttp://207.212.50.51/main.hmxhttp://www.database2net.com/http://www.gr-fx.com/http://www.fmsinc.com/http://www.skandata.com/assets.htmlhttp://www.cm.cf.ac.uk/User/I.W.Aldridge/project/index.htmlhttp://www.btinternet.com/~markolus/accessf.htmhttp://www.wji.com/access/http://www.pdsconsulting.com/http://www.psu.edu/cac/training/outlines/access/access.htmlhttp://cygnus.cygnus.nb.ca/005/005-003.htmlESPAÑOLhttp://www.geocities.com/SiliconValley/1661/http://www.arrakis.es/~carlosval/http://www.micro-area.com/downloads/winlab32///index.htmlhttp://www.arrakis.es/~soria/http://www.abaforum.es/tomasb/http://personal.redestb.es/cratae/http://www.kwery.com/http://www.adaptasoft.com/products.htm
Aqui te va, Private Sub Form_Load()Dim mydb As DatabaseDim thelog As RecordsetDim sProcDtTm As StringSet mydb = CurrentDbSet thelog = mydb.OpenRecordset("loguser")sProcDtTm = Format(DATE, "yyyy-mm-dd") & " " & Format(Time, "hh:mm:ss")With thelog.AddNew!UserName = WindowsUserName()!logdate = sProcDtTm.UpdateEnd Withmydb.CloseEnd Sub basicamente lo que hago es mantener un log de las personas que entran a mi base de datos entro el nombre y la fecha de entrada a una tabla llamada loguser. WindowsUsername() es una funcion que estoy llamando la cual puedes cambiar algo mas.
BUSCAR REGISTROS EN UN FORMULARIOSaludos a todo el grupoTengo el siguiente problema:Tengo un formulario basado en una tabla y quiero que al entrar en elformulario busque uno de los registros pero especificando 2 criterios.Exactamente los criterios son dos campos que contienen datos de otra tabla.Gracias de antemano.------------------------------Al final usé el siguiente código tal y como lo pongo:stLinkCriteria = "maquina= " & "forms![Gestión CambioHerramientas]![texto46]" & "and estacion=" & "forms![Gestión CambioHerramientas]![texto50]"
stDocName = "Gestión Cambio Herramientas"DoCmd.OpenForm stDocName, , , stLinkCriteria
Gracias por contestar.
NO DESPLAZAMIENTO ENCABEZADO Y PIE INFORME
Tengo un informe con Encabezado, Detalle y PieEl contenido del Encabezado y del Pie son fijossabeis como se puede ajustar para que el contenido del Pie se mantengasiempre en la misma posición sin desplazarse hacia arriba o abajo en funcióndel Detalle?Exactamente es para imprimir recibos normalizados, con el contenido centralde varias líneasGraciasJose Luis [email protected]
-------------------------
Pon el detalle como autoextenxible no, autocomprimible no
ACTUALIZAR CAMPO EN FUNCION DE OTRO CON FECHA
Hola grupo, tengo una tabla ej: FacturasClientes con varios campos entreellos uno FechaVencimiento y otro EstadoFactura
Quiero que si el campo FechaVencimiento es igual o mayor a la fecha actualentonces el valor del campo EstadoFactura sea PagadoSe que es muy facil pero lo he intentado y no doy con elloSi alguien me puedo explicar como hacerlo y en el caso de que sea a travésde código le rogaría me indique en que propiedad del campo EstadoFacturadebo ponerloGracias de antemano
----------------------------------------Por lo que cuentas tienes dos formas de hacerlo:
En el evento al activar el registro del formulario pones:
if [Fecha vencimiento]>date() then[estadofactura]=pagadoend if
O creas una consulta de actualización que se ejecute al iniciar laaplicación que ponga el estadofactura a pagado cuando la fecha vencimientosea > que la fecha actual y el estado sea pendiente.
ACTIVAR BLOQUEO DE MAYUSCULAS MEDIANTE CODIGO
Hola amigos:
Alguien me podria deci como activar el bloqueo de mayusculas a traves de codigo?
Ejemplo AlActivarFormulario que queden las mayusculas bloqueadas.
Con la API GetKeyboardState puedes averiguar el estado de cada tecla, y conSetKeyboardState puedes cambiarlo.
En mi página hay un ejemplo para la tecla NumLock, solo tienes que utilizarel número de tecla de CapsLock (&H14) en vez del NumLock (&H90).Creo que se puede cambiar también el estado con keybd_event, pero esa no lahe probado.
--Saludos,Tomás Boixethttp://www.abaforum.es/tomasb
INSERTAR DATOS EN UNA TABLA SI ESTOS NO EXISTEN
Vereis, necesito buscar un dato en una tabla, sino se encontrase,automaticamente deberia buscarse en una segunda tabla y si tampoco seencontrara, deberia poder darse de alta un registro en esta segunda tabla.
Esto con Clipper y otros lenguajes de DOS no era complicado, pero soy nuevocon esto del Access y Vbasic.
---Para buscar si en datos existe en un campo de una tabla puedes utilizarla función DBÚSQ o DLOOKUP de Access (en la ayuda encontrarás cómoutilizarla y ejemplos.) Si no lo has encnotrado y debes darlo de alta puedesutilizar una sentencia SQL:
dim sql as stringsql="INSERT INTO [Mitabla] (NombreCampo) VALUES ('MiValor');"docmd.runsql sql
COMILLAS EN CAMPOS ALFANUMERICOS
Alguien me podría decir pq me da error de sintaxi , le falta un operador¿No lo entiendo? Yo lo veo bien.Gracias de antemano.Cris.BaseEst.Filter = "BeClient = " & cliente & " and BeArt = " & articulo---
Ten en cuenta que si el campo es string se debe poner comilla simple (porejemplo):BaseEst.Filter = "BeClient = " & cliente & " and BeArt = ' " & articulo & "' '"
BASE DE DATOS DAÑADA
¡ Hola a todos !Mi problema es que una base de datos, en Access 97, se ha dañado. Pués alinterntar abrirla me dice que está dañada o que no es una base de datos.Entonces, he intentado repararla con la opción que trae el Access, y me dicelo mismo.Mi pregunta es: ¿ hay alguna otra manera de recuperar los datos ? ¿ Existealgún programa auxiliar que lo permita ?Gracias anticipadamente---
Busca en las páginas de microsoft una utilidad llamada JETCOMP.EXE (oJET97updt). ES una utilidad que permite reparar (a veces) bases de datos queno se reparan por el método normal.
Si no la encuentras dímelo y te la enviaré.
==========================H :- )=Neftalí --- Germ@n Esté[email protected]
Puedes intentar tambien los siguientes trucos para engañar al Access:1.- Renombra la base de datos y llevetela a otro directorio.S al intentar abrirla, no te funciona mira el paso 2.2.-Create otra base de datos en blanco (con un nombre distinto de la que note funciona),y desde esta importa todos los objetos que tengas en la basede datos dañada.
ABRIR Y CERRAR FORMULARIO EN UN TIEMPO X
Tengo terminada un aplicación y necesito poner la típica ventana depresentación que muestra los créditos del programa, la versión, etc. ypasados unos segundos se cierra para visualizar la aplicación.
La pregunta es ¿Como pedo indicar a access que pasados x segundos, secierre un formulario?
---
Crea una variable global en el modulo de clase del formulario:Dim lSeg As Long
Ajusta las propiedades del formulario:
Intervalo del cronómetro a: 1000para incrementos en segundos y
Al cronómetro a: [Procedimiento de evento]
y escribe el procedimiento de evento según:
Private Sub Form_Timer()lSeg = lSeg + 1If lSeg >= 5 Then 'Para 5 segundos visibleDoCmd.CloseDoCmd.OpenForm "FormularioSiguiente"End IfEnd Sub
Ojo, si añades código al procedimiento de evento y tarda mas de un segundoen ejecutarse, el computo de tiempo será incorrecto
Un saludo
_____________________José Luis Martí[email protected]____Madrid (España)____
BASE DE DATOS CODIGOS POSTALES
Alguien recuerda donde puedo bajarme el programa "La estafeta" (Base de> datos de códigos postales ) la tenía pero no la encuentro
---
http://personal1.iddeo.es/ret000v3/estafeta/disco1.ziphttp://personal1.iddeo.es/ret000v3/estafeta/disco2.ziphttp://personal1.iddeo.es/ret000v3/estafeta/disco3.zip
Brutote <[email protected]> escribió en el mensaje de noticias
En correos te dan el cd con todos los codigos postales de España por 300pesetas. Yo lo tengo.
FUNCION DE RELLENO
Hola a todos, sabeis de alguna función capaz de cogerte una string yrellenartela por ejemplo con puntos el espacio sobrante a la derecha. esdecir por ejemplo:
PEPE ..................................JOSE ANTONIO ................
---
Prueba con esta:
Function rellenaSC(p, l, c) As String'p es la cadena inicial'l la longitud a rellear'c caracter derellenoDim relleno As String, i As Integer
If Len(p) < l ThenFor i = 1 To l - Len(p)relleno = relleno & cNext iEnd IfrellenaSC = p & rellenoEnd Function
ARRANCAR WORD
Tengo un formulario con nombres de documentos de texto tipo "prueba.doc"
Me gustaría que pulsando sobre uno de ellos se abriera la aplicaciónWord precisamente por el documento seleccionado.
---Primera solución.Crea un boton y en el evento clik mete:
Dim x As Integerx = Shell("c:\msoffice\winword.exed:\trabajos\access\devolu~1\adev.doc", 1)
Segunda solución.Si te pasas a Access97 puedes hacerlo con un simple hipervínculo.
CERRAR ACCESS
Aunque parezca mentira, al intentar cerrar mi aplicación no lo consigo.He probado con docmd.quit y nada. También he probado con Alt+F4 y con la Xque hay en la esquina superior izquierda del Access. En lugar de cerrarse,se minimiza. La única manera que hay de cerrarlo es con Control+Alt+Supr,pero esto queda muy poco profesional. Alguien puede ayudarme?.
P.D.: Esto solo me ocurre con una aplicación. Las demás funcionanperfectamente.
Gracias por la ayuda.
---
Si utilizas objetos recordset, tienes que cerrarlos y asignarles "nothing",sino persisten en memoria y no dejan cerrar el ACCESS.
Ejemplo: (Realizado de memoria)
Set mirecordset=Currentdatabase.OpenRecordset ("Tabla",DB_OPEN_DYNASET)mirecordset.MoveFirstDo While not mirecordset.Eofmirecordset.MovenextLoopmirecordset.closeSet mirecordset=Nothing
saludos
ORDENAR POR FECHAS
Necesito crear una consulta para ordenar un campo de fechas por meses perono se como---En la consulta pones un campo conmonth([fecha])y ordenas por este campo.si tienes más de un año tendrás que poneryear([fecha],"aaaa")&format(month([fecha]),"00")
Saludos Tj
FORMATO DE CAMPOS MEDIANTE CODIGO
Quisiera saber como poner que un número tenga como mucho 3 decimalespero cuando sea entero no me muestre 890.000, gracias
---
Tendrás que cambiar la propiedad formato con código de la forma:
x es el nombre del campo
if int(x)=x thenx.format="#.###"elsex.format="#.###,000"end if
Saludos TJ
CAMBIO EN INICIO DE AUTONUMERICOS
Agradecería si me podeis facilitar información de como cambiar laspropiedades de un campo autonumerico que cuando lo generas en una tabla queel primer registro no sea 1, sino cualquier otro. Ejemplo: 12100, 12101,12102....
He probado con el manual de ayuda que facilita ACCESS estableciendo unaconsulta de datos anexados, pero no me ha dado el resultado apetecido---
Haz un Insert con el valor que quieras en ese campo.
Saludos TJ
PAPEL PIJAMA (ALTERNAR COLOR FONDO EN DETALLE INFORME)
Filas de diferente color en formularios/informes (papel pijama).1.- En la linea de detalle crear un 'cuadro de texto' con 'origen decontrol' =1 y activar la 'suma continua', si se desea 'Visible'=No; convieneque el resto de los fondos de los controles sean 'Transparentes'.2.- En las propiedades de 'Seccion:Detalle' en 'Al dar formato' crear un'Procedimiento de evento' parecido al siguienteIf Texto0 / 2 = Int([Texto0] / 2) Then Detalle.BackColor = RGB(255, 255, 0)Else Detalle.BackColor = RGB(255, 255, 255)donde Texto0 es el nombre del 'cuadro de texto'. Los unico que hace escontrolar impares.Las aplicaciones son variopintas. Colorear como aviso de alguna combinacionde valores, cada 33 lineas, , 3 lineas si 3 lineas no, en fin controlar elcolor de fondo (y otros controles) y facilitar la lectura al usuario.Un saludo Rafa 10
BASE DE DATOS CORRUPTA.
intenta lo siguiente, varias opciones:
1.- Renombra la base de datos corrupta, y compactala desde fuera.Si la opción 1 no funciona, Be Quietorrrr!!!.La opción 2 te funcionará seguro.
2.- Create una base de datos nueva con un nombre diferente del de lacorrupta.Impórtate todo lo de la corrupta a la nueva.Compáctala.
busca por la web de microsoft busca el archivo jet35sp3.exe es una utilidad quete permite arreglar una base de datos sin abrirla si no lo encuentras me lodices y te lo envio
ACCESS Y OUTLOOCK
A ver si algún "gurú" del Access me puede hechar una mano.
Tengo una Base de Datos de empleados. Cuando doy de alta un empleado nuevo,también indico la fecha de finalización de contrato, y me gustaría que elOutlock me avise el día que he marcado como baja (osea, programar una citaen el Outlock desde Access). ¿Es esto posible?.
respuestas al grupo o a mi emilio: [email protected]
Crea un módulo en tu BD, activa la referencia correspondiente aMicrosoft Outlook 8.0 (o sinó añádela manualmente buscando el ficheroMsoutl8.olb en el directorio de Office)
Crea la siguiente función de ejemplo:
Function AñadirTarea()Dim appOutLook As Outlook.ApplicationDim taskOutLook As Outlook.TaskItem
Set appOutLook = CreateObject("Outlook.Application")Set taskOutLook = appOutLook.CreateItem(olTaskItem)
With taskOutLook.Subject = "Encabezado de la tarea...".Body = "Texto de la tarea...".ReminderSet = True.ReminderTime = DateAdd("n", 2, Now) 'Vencimiento.DueDate = DateAdd("d", 4, Now) 'Día de la cita (dentrode 4 días).ReminderPlaySound = True.ReminderSoundFile = "C:\Win95\media\done.wav" 'Sonido quedesees.SaveEnd WithEnd Function
Para ejecutarla sólo debes llamarla por su nombre. Haz pruebas y si teacalaras puedes pasarle los datos como parámetros.
Espero que te sirva.
==========================H :- )=Neftalí --- Germ@n Esté[email protected]
Preguntilla: ¿Tengo que instalar la referencia a Otlook en todos los PC'sque ejecuten mi aplicación?
DESACTIVAR TECLAS AVPAG RETRPAG
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 34 Or KeyCode = 33 Then KeyCode = 0End Sub
Además hay que poner la propiedad Tecla de vista previa en Sí
--Quitar una equis para [email protected] Turon escribió en mensaje <[email protected]>...>Hola a todos,>>Tengo un problema en un formulario. Me gustaria desactivar las teclas AvPag>y RePag. Alguien sabe como hacerlo?
CODIGOS DE BARRAS CON ACCESS
Mira el Abarcode, especial para Access:http://www.abaforum.es/tomasb/abarcode/index.htm
Carcas <[email protected]> escribió en el mensaje de [email protected]...> Necesito imprimir en un informe el codigo de barras correpondiente alvalor> de otro campo tambien presente en el informe.>> ¿Como se puede hacer esto?. He mirado en todas las ayudas, libros, y no he> encontrado nada.>> Gracias por vuestra ayuda>> Saludos>> [email protected]
MS ACCESS, MS OUTLOOK
Si quieres saber algo de importar datos del Outlook, carpetas personales,agendas de clientes,....
Preguntamelo en : [email protected]
cris.
CUADRO DE DIALOGO DE IMPRESORA
hola
Veras, tengo un boton, el cual imprime un informe en vista previa.
Pero me gustaria que saliese el recuadro de dialogo de las impresoras dewindows para poder seleccionar la impresora adecuada.
Es decir mismo cuadro que sale por ejemplo en el menu "archivo, Imprimir..."de la aplicacion word.
-------
Creas un formulario que se llame configurar impresora. Colocas elcontrol ActiveX CommonDialog. Despues creas un modulo nuevo y copiasla siguiente función:
Function configurar_impresora()On Error GoTo configurar_impresora_Err
DoCmd.SetWarnings FalseDoCmd.OpenForm "configurar impresora", acNormal, "", "", ,acHiddenForms![configurar impresora]![commonDialog1].ShowPrinterDoCmd.Close acForm, "configurar impresora"DoCmd.SetWarnings True
configurar_impresora_Exit:Exit Function
configurar_impresora_Err:MsgBox Error$Resume configurar_impresora_Exit
End Function
a continuación creas una macro que ejecute la función anterior y ya lotienes listo. DEsde cualquier boton o desde el menu puedes llamar a lamacro. Asegurate que las referencias al formulario y al common dialogque aparecen en la función son las mismas que tienes en el formularioque crees.
CONSULTA EN FORMULARIO VARIOS CRITERIOS
hola, saludos al grupo, tengo el siguiente problema, a ver si alguno mepodriais ayudar,.Gracias.
Tengo que hacer una consulta con los alumnos que estudian un determinadoidioma, se como hacer que me genere todos, ó solo los de INGLES, ó solo losde ALEMAN, pero no se hacerINGLES + ALEMAN, ó INGLES+ESPAÑOL, o sea que el usuario pueda seleccionarlos idiomas que quiera.---Crea una tabla con los idiomas y un campo Sí/No llamado mostrar (p.e.)
A través de un formulario, activas o desactivas las casillascorrespondientes, según desees un idioma, otro o varios.
Crea una consulta relacionando los alumnos con esta tabla, estableciendo elcriterio Mostrar=Sí
¿Ok?
ASIGNAR DISTINTA TABLA A UN MISMO FORMULARIO
Necesitaría saber cómo puedo, por medio de codigo, asinar unformulario con dos tablas distintas de forma alternativa.---
Mediante codigo abres el informe en modo diseño y le cambias elorigen de los datos.docmd.openreport "Informe", acviewdesign"informe".properties("origen del registro")="tabla"
Para que sea alternativo deberas comprobar que tabla es la que está comoorigen del registro:if "informe".properties("origen del registro")="tabla1" then"informe".properties("origen del registro")="tabla2"else"informe".properties("origen del registro")="tabla1"end if
Bonnin Sanso - Estate Agents – [email protected]
IMPORTAR TEXTO POR CODIGO
Hola grupo,>> Se como importar texto a traves del menu ( Archivo -> Obtener Datos> Externos -> importar ) para crear (no vincular) una tabla importando los> datos de un archivo de texto.>> La pregunta es como podria hacer lo mismo a traves de codigo ... para> intentar automatizar algunas importaciones (y no hacerlas siempre con el> menu paso a paso).>> Gracias
Hola Jag,
Simplemente te tienes que crear una macro con la acción TransferirTexto.
BLOQUEO DE REGISTROS DE SUBFORMULARIO
Tengo en una base de datos de acces-97, un formulario decabecera de albaranes, que a su vez tiene un subformulario el cual es laslineas de albaran. Me funciona correctamente. Pero querria que cuando en elcampo nümero de factura del formulario haya un número de factura, me bloqueelos registros correspondientes a ese albaran en el subformulario para que nopueda editarlos, mientras no elimine el número de factura.
---Para ello deberás realizar un procedimiento en el evento "al activarregistro" (current), en el cual indiques tus opciones:
Sub form_current() 'se genera el evento cada vez que se cambia deregistro en este caso de facturaif me![número de factura]>0 then 'si hay número de facturame![SF entrada albaranes ventas].properties("bloqueado") = false'se bloquea el subformularioelse 'si no hay número de factura (nulo) o es igual a 0me![SF entrada albaranes ventas].properties("bloqueado") = true'se permite la edición del albaranend ifend sub
AÑADIR DATOS AL SUBFORMULARIO DESDE EL FORMULARIO.
Necesito añadir un nuevo registro a un subformulario y rellenar un par decampos (Fecha actual y otro campo calculado),desde el formulario principal.Lo he probado de todas maneras y no hay forma,---Si lo que quieres es insertar una registro desde el formulario principal porcódigo, yo lo hago de la siguiente manera. Asocia este evento a un botón:
Dim miBd As Database, miRS As Recordset
Set miBd = DBEngine.Workspaces(0).Databases(0)Set miRS = miBd.OpenRecordset("Nombre BD subformulario")Response = acDataErrAddedmiRS.AddNewmiRS![campo1 BD] = Valor...
miRS![campo n BD] = ValormiRS.UpdatemiRS.ClosemiBd.Close
Espero haberte ayudado.
AbG
IMPORTAR TEXTO POR CODIGOHola grupo,
Se como importar texto a traves del menu ( Archivo -> Obtener DatosExternos -> importar ) para crear (no vincular) una tabla importando losdatos de un archivo de texto.
La pregunta es como podria hacer lo mismo a traves de codigo ... paraintentar automatizar algunas importaciones (y no hacerlas siempre con elmenu paso a paso).
---Simplemente te tienes que crear una macro con la acción TransferirTexto.
TOPE DE REGISTRO EN SUBFORMULARIO
Tengo un subformulario dentro de un formulario.Lo que me gustaría hacer esque en ese subformulario no admitiese mas de 18 registros para eseformulario de manera que cuando llegue al 18 me avise de que tengo quevolver hacer otro pedido.¿como se hace?
---En el evento Antes de Insertar del SUBFormulario le pones
Private Sub Form_BeforeInsert(Cancel As Integer)Dim x As Bytex = Me.RecordsetClone.RecordCountIf x > 17 ThenMsgBox "Demasiados registros, haga otro pedido"Cancel = TrueEnd IfEnd Sub
Un saludo JavaTex
CREAR UN SUMA Y SIGUE
Hola grupo a ver si alguien me puede echar un cable, quedaría sumamenteagradecido ya que no lo consigo.
La cuestion es la siguiente:Tengo una tabla simple con dos campos uno autonúmerico y otro númerico paraintroducir cifras
Lo que quiero es crear un informe con esa tabla y que en cada página delinforme me haga el subtotal de las cifras de esa página por ejemplo en uncuadro de texto y al final del informe me ponga la suma total de las cifras(esto si se hacerlo).
Pongo un ejemplo de como sería el informe si cada página fuera de 3registros:Número de registro Pts-------------------------- -----1 10002 10003 3500
Subtotales: 3 registros 5500 pts
Página 1 de 3
En definitiva lo que no logro es sacar el subtotal ya que no se comocontrolar el número de registros que me van a entrar en una página delinforme.Podriais sugerirme alguna forma de hacerlo de manera sencillaBueno gracias de nuevo por tan siquiera leerlo.
---
Una forma sencilla, en el pie de página el suma y sigue.En el pie del informe un control con origen del registro: =suma(importe)
El control suma y sigue con origen de control : =SUbtotal()
En el código del informe
Declaras una variable global:
Dim imp as double
Al imprimir en el encabezado de páginaimp=0
En el detalle la función SubtotalPrivate function Subtotal() as doubleImp=imp+importeend function
en el détalle, evento al imprimir
if me.page=me.pages thensimporte.visible=false ' Simporte es el control que tienes en el pie de
páginaendif
espero que te sea de utilidad.. Saludos
DOMICILIACION BANCARIA.
Me puede facilitar alguien la estructura de las tablas necesaria paraconfecionar la domiciliacion de recibos y/ o anticipos bancarios.Tambien desearia saber como se exportan los datos para generar elcorrespondiente diskette que se entrega a la entidad bancaria.Ya se que existe en el foro alguna aplicación que lo hace, pero megustaria currarmelo por mi cuenta.Gracias a todos
----Podeis descargarlo en: http://www.abaforum.es/tomasb/access.htmespero que os sirva.
PROBLEMAS AL INSTALAR ACCESS 2000 DESPUES DE ACCESS 97
Esquematizando:-Office 97 instalado y funcionando perfectamente. Bien.-Instalo Office 2000 (sin desinstalar el 97), no problem. Bien.-Intento abrir una BD en la que estaba trabajando y me da un error en unformulario (error mío no apuntar el mensaje que me dio). No hay manerade convertirla ni de abrirla. Sudores fríos. Mal.-Vale, desinstalo el 2000 y vuelvo a instalar el 97. No da problemas enla instalación pero al intentar abrir Access me dice que: "Imposibleiniciar Microsoft Access porque no hay licencia para el producto en esteequipo". Mal, muy mal. Sniff.-Lo he instalado otras tres veces y he hurgado en el registro quitandolas referencias a Access que quedaban y no hay manera, no encuentro lasolución.
Exceptuando el formateo del HD (que ya se me ha ocurrido a mí),algún consejo, sugerencia, experiencia... en fin iluminación que meayude?Gracias.
---
ETERNAMENTE AGRADECIDO. Mañana lo pruebo.
Julian Peris wrote:
> PSS ID Number: Q141373> Article last modified on 07-30-1999>> WINDOWS:7.0,97>> WINDOWS>> ======================================================================> ----------------------------------------------------------------------------> ---> The information in this article applies to:>
> - Microsoft Access versions 7.0, 97> ----------------------------------------------------------------------------> --->> IMPORTANT: This article contains information about editing the registry.> Before you edit the registry, make sure you understand how to restore it if> a problem occurs. For information about how to do this, view the "Restoring> the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key"> Help topic in Regedt32.exe.>> SYMPTOMS> ========>> Novice: Requires knowledge of the user interface on single-user computers.>> When you start Microsoft Access 7.0 or 97, you may receive the following> error> message.>> In Microsoft Access 97> ---------------------->> Microsoft Access can't start because there is no license for it on this> machine.>> -or->> Can't find the database you specified or you didn't specify a database at> all.>> In Microsoft Access 7.0> ----------------------->> Microsoft Access can't be started as there is no license for it on this> machine.>> CAUSE> =====>> Microsoft Access is not properly registered on your computer. When you start> Microsoft Access, it checks the Windows Registry for the following entry.>> In Microsoft Access 97> ----------------------> \\HKEY_CLASSES_ROOT\Licenses\8CC49940-3146-11CF-97A1-00AA00424A9F>> In Microsoft Access 7.0> -----------------------> \\HKEY_CLASSES_ROOT\Licenses\B54DCF20-5F9C-101B-AF4E-00AA003F0F07>> If this entry is missing, you receive the error message mentioned in the> "Symptoms" section.>> NOTE: The same key is used for both the retail version and the run-time> version> of Microsoft Access.>> In Microsoft Windows NT 4.0 only, you may also receive this error message if> you> do not have Read permissions to the Licenses key in the registry.>
> In Microsoft Windows 98, you may also receive this error message because of> a> problem with the installation process.>> RESOLUTION> ==========>> To resolve this issue, follow the steps below that are appropriate for your> situation.>> WARNING: Using Registry Editor incorrectly can cause serious problems that> may> require you to reinstall your operating system. Microsoft cannot guarantee> that> problems resulting from the incorrect use of Registry Editor can be solved.> Use> Registry Editor at your own risk.>> For information about how to edit the registry, view the "Changing Keys And> Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete> Information in the Registry" and "Edit Registry Data" Help topics in> Regedt32.exe. Note that you should back up the registry before you edit it.> If> you are running Windows NT, you should also update your Emergency Repair> Disk> (ERD).>> Steps to Try If Microsoft Access Is Not Properly Registered> ----------------------------------------------------------->> There are two ways to resolve this error message. You can uninstall> Microsoft> Access on your computer, and then reinstall it.>> -or->> You can run the Microsoft Access Setup program using a command line switch> (/y)> to reset your computer's registry. To reset the registry, follow these> steps:>> 1. In Windows 95, Windows 98, and Windows NT 4.0, click the Start button,> then> click Run (or in Windows NT 3.51, click Run on the File menu in Program> Manager or File Manager).>> 2. Type a command to run the Microsoft Access Setup program using the /y> switch,> for example:>> C:\Setup /y>> 3. In the Installation Maintenance Program box, click Reinstall. The Setup> program updates the system Registry for Microsoft Access. When Setup is> complete, start Microsoft Access.>> Steps to Try If Problem Is Caused by No Read Permissions to Licenses Key> ------------------------------------------------------------------------>> When logged on to a Windows NT 4.0 system as an administrator, you can check> and
> modify user permissions to the different registry keys using the Windows NT> 4.0> registry editor. To do so, follow these steps:>> 1. Log on to the problem computer as an Administrator.>> 2. On the Task Bar, click Start, and then click Run.>> 3. Type "regedt32" (without the quotation marks), and click OK.>> 4. Select the \\HKEY_CLASSES_ROOT\Licenses key.>> 5. On the Security menu, click Permissions.>> 6. Make sure that the necessary users and groups have at least Read> permissions> to the key.>> 7. Close the Registry Editor and re-start the computer.>> When you log on as a typical user, you should now be able to start Microsoft> Access without problems.>> Steps to Try If You Are Using Windows 98 and Microsoft Access 97> ---------------------------------------------------------------->> If you have upgraded your computer to Windows 98, you may experience the> problem> described in the "Symptoms" section of this article under the following> conditions:>> - You have installed Microsoft Publisher>> - You have installed Microsoft Office 97 Professional Edition>> Note: In Windows 98 with Access 97, you may also see the following error:>> Can't find the database you specified or you didn't specify a database at> all.>> Certain fonts that are installed by Microsoft Publisher can result in the> incorrect registration of Microsoft Access 97, but only when Access is being> installed from the Office 97 Professional CD. You can correct the> registration> error by using either of the following methods:>> Rename one of the problem fonts, and then reinstall Microsoft Access from> the> Setup Maintenance Mode.>> -or->> Download a tool that Microsoft has on its Downloads Web site that corrects> this> problem.>> For more information about either method, see the appropriate section below.>> Renaming the Font and Reinstalling Microsoft Access> --------------------------------------------------->
> Reinstalling Microsoft Access 97 using the Setup Maintenance Mode does not> require you to uninstall Microsoft Access first; it simply returns the> computer> to the install state that it was in the last time Setup was run. Follow> these> steps to correct the registry error:>> 1. On the Start menu, point to Find, and then click Files Or Folders.>> 2. In the Named box, type "hatten.ttf" (without the quotation marks).>> 3. In the Look In box, type "C:\Windows\Fonts" (without the quotation marks)> or> the path to the Fonts folder on your computer.>> 4. Click the Find Now button to start the search.>> 5. Under Name, right-click the hatten.ttf file, and click Rename on the menu> that appears.>> 6. Change the name of the file to "hatten.xxx" (without the quotation> marks).>> 7. Minimize (but do not close) the Find dialog box.>> 8. On the Start Menu, point to Settings, and click Control Panel.>> 9. In Control Panel, double-click Add/Remove Programs.>> 10. In the Add/Remove Program Properties dialog box, select the Install/> Uninstall tab and select Microsoft Office 97, Professional Edition from> the> program list.>> 11. Click the Add/Remove button to run Office Setup in Maintenance Mode.>> 12. In the Microsoft Office 97 Setup dialog box, click Reinstall.>> 13. Once the reinstallation is finished, click the Find dialog box on the> Windows taskbar to maximize it.>> 14. Under Name, right-click the hatten.xxx file, and click Rename on the> menu> that appears.>> 15. Change the name of the file to "hatten.ttf" (without the quotation> marks).>> Microsoft Access should now be properly registered.>> Using the Downloadable Tool> --------------------------->> The AcLicn97.exe file contains a tool that corrects the problem discussed in> this> article so that you can run Microsoft Access 97 successfully. For more> information about downloading this tool, please see the following article in> the> Microsoft Knowledge Base:>> ARTICLE-ID: Q191224 ACC97: AcLicn97.exe Available for Download on MSL
>> REFERENCES> ==========>> For more information about removing Microsoft Access 7.0 from your hard disk> drive, please see the following article in the Microsoft Knowledge Base:>> ARTICLE-ID: Q167850 ACC95: How to Uninstall Microsoft Access 7.0>> Additional query words: win98 acc97 acc95>> ======================================================================> Keywords : kberrmsg kbsetup StpGnrl> Version : WINDOWS:7.0,97> Platform : WINDOWS> Hardware : x86> Issue type : kbprb> ============================================================================> => Copyright Microsoft Corporation 1999.>> -->> Saludos,>> Julian> Pompeyo <[email protected]> escribió en el mensaje de noticias
Yo hice lo de la instalación con el parámetro /y y ni puto caso. Lo quesi me ha funcionado es el archivo AcLicn97.exe, que lo puedes bajar dehttp://support.microsoft.com/download/support/mslfiles/AcLicn97.exe,aunque puedes tardar un ratillo en bajarlo... Pero me solucionó elproblema. Prueba a ver si se te arregla.
-- ========================J. Fernando López [email protected](quitad xxx para correo)========================
CERRAR UN FORMULARIO A LOS X SEGUNDOS
En la propiedad "al cronómetro" le pones la accion que quieras (macro ocódigo). Vale poner una macro con la instrucción cerrar.
La Propiedad "Intervalo del cronómetro" mide en milésimas de segundo(aprox). Depende un poco de la máquina que tengas, pero a mi me lo respetarelativamente bien.
El tiempo esta en ms, por lo cual debes colocar 5000 para un tiempo de 5s.
Espero que te funcione
GJM
abacoce <[email protected]> escribió en el mensaje de [email protected]...> Un saludo al grupo y muchas gracias de antemano.> Por favor, como puedo cerrar un formulario despues de por ej: 5 segundosde> su ejecución.> he visto una propiedad de formulario, on timer pero algo falla paracalcular> los cinco segundos...> muchisimas gracias a todos.>>
COMPACTAR DESDE CODIGO
Hola a todos. He realizado una pequeña base de datos(compacta.mdb) para compactar otra (bd.mdb) automaticamentecuando se cierra esta ultima. La base de datos compacta.mdbcompacta correctamente la otra si se abre estando bd.mdbcerrada. Lo que pretendía hacer es, al cerrar bd.mdb, abrircompacta.mdb con el fin de relaizar la compactacion siempreque se cerrase bd.mdb.
Al ahacer click en un boton de un formulario escriboDo.Cmd Quit para cerrar la base de datos bd.mdb, pero no selo que he de escribir para abrir compacta.mdb una vez cerradala primera.
Otro problema es que la base de datos compacta.mdb esta hechapara el caso en que bd.mdb se encuentre en un directorio determinado.Como puede averiguarse el directorio donde se encuentranlas bases de datos? El codigo que lleva a cabo la compactacion es:
If Dir("temporal.mdb") = "" ThenDBEngine.CompactDatabase "d:\doc\bd.mdb", "temporal.mdb"ElseKill ("temporal.mdb")DBEngine.CompactDatabase "d:\doc\bd.mdb", "temporal.mdb"End IfKill ("d:\doc\bd.mdb")Name "temporal.mdb" As "d:\doc\bd.mdb"
Este codigo lo posteo Lucio Gallego hace algun tiempo en este grupo.
Como se ve, la base de datos bd.mdb ha de estar en el directoriod:\doc. Que cambios tendria que hacer en el codigo anterior paraleer el directorio donde se encuentra compacta.mdb (que seria elmismo donde esta bd.mdb)?---
Para abrir la otra base de datos usa la funcion shell, justo antes de cerrarla primeraEjemplo
dim xx=Shell("Msaccess C:\datos\Miotra.Mdb",3)docmd.quitUn saludo JavaTex
---Para saber el directorio donde esta la base de datos una forma facil
dim x as stringx=currentdb.name
si la base de datos esta en c:\datos y se llama mibase.mdb x valdrac:\datos\mibase.mdbsi recorres la cadena y te quedas con lo ke hay a la izquierda de la ultima\ conoceras el directorio donde se encuentra, si tienes dudas de como haceresto pregunta
Un saludo JavaTex
PASO A FECHAS
Tengo un problema que no se como se soluciona en access y quisiera quealgún alma caritativa me orientara.
En una tabla vinculada tengo tres campos de tipo numérico: "DDPED","MMPED", "AAPED" (día, mes y año de pedido respectivamente) y he dealmacenarlos en el campo "Fecha_Pedido" de otra tabla. (tipo fecha)
Lo que no consigo hacer es volcar el contenido de los campos de la tablavinculada en el campo "Fecha_Pedido" . El proceso de volcar el contenido deun campo a otro, lo hago sin problemas, lo que no logro es concatenar dealguna forma DDPED,MMPED,AAPED para que el resultado sea un valor de fecha.
---Tendrías que usar la función CVDATE para convertir a fechas y concatenarlos campos como una fecha con formato dd/mm/aa. Supongo que de esta forma tefuncionará:
dim cf as stringcf=DDPED & "/" & MMPED & "/" & AAPED)Fecha_Pedido=CVDATE(cf)---
Utiliza la funcion dateserial (seriefecha), hace justo lo ke kieresdateserial(año;mes;dia)hazlo con una consulta de actualizacion por ejemploEjemplo:dateserial(1999;4;21) devolveria la fecha 21/4/1999Un saludo JavaTex
CAMBIO DEL COLOR DE FONDO DEL CAMPO DONDE ESTE SITUADO EL CURSOR
Mi consulta es la siguiente:En un formulario introduzco datos.Al pasar de una campo a otro es lo normal que se quede el cursor(intermitente) al inicio del campo.¿Existe alguna posibilidad de que dicho campo cada vez que estés situado enél se pondría por ejemplo de color amarillo?. Esto lo quiero hacer por unarazón muy sencilla. Tengo un formulario con muchos campos y si no lo hago deesta manera, tengo que escribir algo para saber en que campo estoy, mientrasque de la otra manera me resultaría más fácil al ver el campo en otro colordiferente.
Gracias grupo.
---
Crea la siguiente funcion en un modulo
Function Colorfondo(ES As Boolean)On Error Resume NextDim Mic As ControlSet Mic = Screen.ActiveControlIf ES = True ThenMic.BackColor = QBColor(11)ElseMic.BackColor = QBColor(15)End IfEnd Function
En el evento del control al recibir el enfoque que quieras que ocurra ponle=Colorfondo(Verdadero)y en el evento al perder el enfoque=Colorfondo(Verdadero)
Nota 1: como supongo lo querras poner en muchos controles ponselo a todos ala vez, es decir seleccionalos todos y luego saca las propiedades de esaseleccion multiple y se lo pones, ojo que en la seleccion no hayaseleccionado una etiqueta pues entonces no aparecera las propiedades de esoseventosNota 2: donde en el codigo pone el 11 y el 15 puedes poner otros numerosentre 1 y 15 pues esos numeros indican el color de fondo que aparecera,tanto el que se establece al entrar en el control como el que se vuelve aponer una vez salgas de él.
Un saludo JavaTex
DISTINTO COLOR EN LINEAS DE SUBFORMULARIO DEPENDIENDO DE CONTENIDO CAMPO
Tengo un formulario con un subformulario. En el formulario tengo los datosdel cliente y en el subformulario aparecen las facturasde ese cliente. Se puede hacer que la facturas pendientes de pago el texto oel fondo salga de otro color?
Muchas gracias.
---
Una de las formas es creando una tabla nueva con dos campos:El primer campo(Clave) con formato Si/No y el segundo un campo ole de mapade bits.A continuacion crea un Campo ("Pagada":Si/no) en la tabla de facturas yrelacionalo con el campo Si/No de la tabla anterior.En el formulario donde presentes las facturas crea un control con origen enel mapa de bits y superponle el campo del importe de la factura con uncontrol transparente.Por supuesto que al mapa de bits le puedes poner el color que quieras.
COMO ELIMINAR ALGO QUE SE ARRANCA SIEMPRE AL ARRANCAR WINDOWS
Necesitaria saber como puedo quitar el que se me abra una carpeta llamadaprogramas, nada mas iniciar o reiniciar windows, no me comenteis lo del menuinicio que ya no esta.Gracias porque me esta volviendo loco.---
Ha mirado en el registro, en: (ejecutar el regedit)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunAlli esta todo lo que carga al iniciar---En el disco de W98 en la carpeta Tools\Reskit\Toy (creo, si no es esa estápor esa zona) hay un fichero llamado TweakUI.inf
Lo pinchas con el bóton derecho y eliges instalar. Te instala la utilidadTweak UI en el panel de control que, entre otras cosas te permiteactivar/desactivar los programas que se cargan en inicio. Bastante majo.Sirve también para NT.
AÑADIR LINEAS A CAMPO MEMO
quiero meter distintas lineas de texto en un campo memo, de una tablaaccess, pero no se como hacerlo.Lo hago componiendo el texto a introducir en una variable, pero los retornode carro los añado como chr(13), y cuando edito el memo, o lo veo en elformulario, donde estan los retornos de carro, aparece un cuadradito, y nosalta a la siguiente linea del texto como quiero.
Que estoy haciendo mal?.---
Debes concatenarchr(13) & chr(10)Un saludo JavaTex
FORMULARIO CON DOS SUBFORMULARIOS. (COMUNICACIÓN SEGUNDO CON TERCER FORMULARIO)
hola a todos ,mi problema (tonto, seguro) es el siguiente:tengo un formulario (formulario alfa) que tiene dos subformulariosformularios beta y gamma)¿como se puede hacer para que al modificar un registro (es un cuadrocombinado) en el formulario beta, aplique un filtro en el formulario gammacon el valor del formulario beta contenido en el cuadro combinado?---Si ControlGamma es numericodim elvalor as doubleElvalor=Forms![FormAlfa]![FormBeta].Form![ControlBeta]Forms![FormAlfa]![FormGamma].Form.Filter = "ControlGamma=" & ElValorForms![FormAlfa]![FormGamma].Form.FilterOn = True
Si ControlGamma es textoDim elvalor as stringElvalor=Forms![FormAlfa]![FormBeta].Form![ControlBeta]Forms![FormAlfa]![FormGamma].Form.Filter = "ControlGamma='" & ElValor & "'"Forms![FormAlfa]![FormGamma].Form.FilterOn = True
Ojo con las comillas simples
Un saludo JavaTex
BUSCAR Y ENCONTRAR REGISTROS (DLOOKUP)
necesito buscar y encontrar un registro que cumpla varias condiciones, sepuede hacer con el DlookUp?
Con una condición si sé, pero con dos... se puede?
---
Si puedes, mira los ejemplos,Para campos de texto con criterios en controlesDlookup("Edad";"NombreTabla o consulta";"Apel1='" & [control1] & "' AndApel2='" & [control2] & "'")
Para campos de texto con criterios de texto fijoDlookup("Edad";"Nombre Tabla o consulta";"Ape1='Perez' And Ape2='Sanchez'")
Para campos numericos con criterios en controles y como numerosDlookup("Ape1";"Nombre Tabla o consulta";"Edad=" & 34 & " AndOtroCamponumerico=" & [Control1])
Para campos numericos con criterios numericosDlookup("Ape1";"Nombre Tabla o consulta";"Edad= 34 And OtroCamponumerico=28")
EXISTENCIA DE ARCHIVOS
Necesito comprobar desde el código si un archivo jpg existe.
---
Revisa ayuda en Access (encontrarás también ejemplos) sobre lainstrucción DIR. Pasándole el path de un archivo te dice si lo ha encontradoo no.
_________o0o____________Neftalí - Germán Esté[email protected]
IMPRIMIR SUMA Y SIGUE
La hoja para imprimir el pedido es una medida Standard e invariable y cuandoel pedido me sobrepasa un hoja tiene que imprimirlo en dos hojas.He conseguido imprimir el mismo encabezado en cada hoja, pero me gustaríaque en la primera hoja me imprimiera un "SUMA Y SIGUE" y que me sumara losconceptos que vienen en la 1º hoja y luego en la segunda hoja que me sumarael total del pedido.Lo he intentado de todas las maneras pero no me sale (ni con la ayuda deAccess que más o menos explica algo).
Ayudarme por favor, si queréis os mando la base de datos y así meentenderíais mejor.Gracias de todos los modos.
---
En la base de ejemplo Soluciones que viene con Access, en la sección deInformes viene un ejemplo dedicado especialmente al Suma y sigue de lasfacturas.
Sin llegar a entenderlo del todo, lo he utilizado y funciona sin problemas.
COPIAR FICHEROS DESDE ACCESS
Necesito copiar unos ficheros *.txt de un directorio a otro desde unformulario access seleccionando unos registros
---Usa la instruccion filecopyFileCopy ArchOrigen, ArchDestinoUn saludo JavaTex
COMPACTAR UNA BASE DE DATOS A PARTIR DE OTRA. UBICACIÓN.
Hola a todos. He realizado una pequeña base de datos(compacta.mdb) para compactar otra (bd.mdb) automaticamentecuando se cierra esta ultima. La base de datos compacta.mdbcompacta correctamente la otra si se abre estando bd.mdbcerrada. Lo que pretendía hacer es, al cerrar bd.mdb, abrircompacta.mdb con el fin de relaizar la compactacion siempreque se cerrase bd.mdb.
Al ahacer click en un boton de un formulario escriboDo.Cmd Quit para cerrar la base de datos bd.mdb, pero no selo que he de escribir para abrir compacta.mdb una vez cerradala primera.
Otro problema es que la base de datos compacta.mdb esta hechapara el caso en que bd.mdb se encuentre en un directorio determinado.Como puede averiguarse el directorio donde se encuentranlas bases de datos? El codigo que lleva a cabo la compactacion es:
If Dir("temporal.mdb") = "" ThenDBEngine.CompactDatabase "d:\doc\bd.mdb", "temporal.mdb"ElseKill ("temporal.mdb")DBEngine.CompactDatabase "d:\doc\bd.mdb", "temporal.mdb"End IfKill ("d:\doc\bd.mdb")Name "temporal.mdb" As "d:\doc\bd.mdb"
Este codigo lo posteo Lucio Gallego hace algun tiempo en este grupo.
Como se ve, la base de datos bd.mdb ha de estar en el directoriod:\doc. Que cambios tendria que hacer en el codigo anterior paraleer el directorio donde se encuentra compacta.mdb (que seria elmismo donde esta bd.mdb)?---
Para abrir la otra base de datos usa la funcion shell, justo antes de cerrarla primera
Ejemplo
dim xx=Shell("Msaccess C:\datos\Miotra.Mdb",3)docmd.quitUn saludo JavaTex
---
Para saber el directorio donde esta la base de datos una forma facil
dim x as stringx=currentdb.name
si la base de datos esta en c:\datos y se llama mibase.mdb x valdrac:\datos\mibase.mdbsi recorres la cadena y te quedas con lo ke hay a la izquierda de la ultima\ conoceras el directorio donde se encuentra, si tienes dudas de como haceresto pregunta
Un saludo JavaTex
BUSCAR ARCHIVOS DESDE ACCESS
Usa la funcion dirEl ejmplo de access es bastante claroEn este ejemplo se utiliza la función Dir para comprobar si existen ciertosarchivos y directorios. En Macintosh se puede utilizar la función MacID paraespecificar el tipo de archivo.
Dim MiArchivo, MiRuta, MiNombre' En Microsoft Windows:' Devuelve "WIN.INI" si existe.MiArchivo = Dir("C:\WINDOWS\WIN.INI")
' Se devuelve el nombre de archivo con la extensión especificada. Si hay másde un archivo *.INI se
' devuelve el primer nombre de archivo que se encuentra.MiArchivo = Dir("C:\WINDOWS\*.INI")
' Se vuelve a llamar la función Dir sin argumentos para obtener el siguientearchivo *.INI del' mismo directorio.
MiArchivo = Dir
' Se devuelve el primer archivo *.TXT con que tenga activado el atributooculto.
MiArchivo = Dir("*.TXT", vbHidden)
' Muestra los nombres en C:\ que representan directorios.MiRuta = "c:\" ' Establece la ruta.MiNombre = Dir(MiRuta, vbDirectory) ' Recupera la primera entrada.Do While MiNombre <> "" ' Inicia el bucle.' Ignora el directorio actual y el que lo abarca.
If MiNombre <> "." And MiNombre <> ".." Then
' Utiliza comparación a nivel de bits para asegurarse de que MiNombre es undirectorio.
If (GetAttr(MiRuta & MiNombre) And vbDirectory) = vbDirectory ThenDebug.Print MiNombre ' Muestra la entradaEnd If ' solamente si representa un directorio.End IfMiNombre = Dir ' Obtiene siguiente entrada.Loop
Un saludo JavaTex
COLOR DE FONDO DE LOS CAMPOS
Me gustaria saber cual es la mejor manera de colorear los camposen un formulario de marron, por ejemplo, cuando tengan el enfoque y queeste otra vez blanco cuando pierda el enfoque. No se si es mejor una macro o codigo Visual---
Una sencilla respuesta es dejar el color de fondo del control comotransparentey ya está . cuando coje el enfoque tiene un color y cuando lo pierde otro.
LISTA DE ACCESS
Me podeis indicar alguna lista de correo de Access???---Hay una lista recién creada, apúntate en
http://accessBD.listbot.com/
Nada más entrar te preguntará tu cuenta de correo, introdúcela y darle a OK.Más tarde rellena una pequeña pasword, para que nadie vea tus mensajes en elservidor de la lista de correos, rellena un pequeño formulario (Nombre,Apellidos, Ciudad y Páís) y ya está. Todos los mensajes mandados a lista decorreos (dudas, aclaraciones, etc...) serán mandados a tu cuenta de correos.
Una vez te haya subscrito el servidor te mandará un mensaje de confirmacióna tu cuenta, le das a reply (responder) y ya está (es por seguridad, paraque nadie te apunte a la lista de correo sin tu permiso).
NUMERO CORRELATIVO EN REGISTROS.
Hola1.Tengo una aplicacion para hacer facturas que registra los datos de lafactura que imprimo .2. Y quiero que: en el campo [numero de factura] se rellene automaticamentecon el numero correlativo siguiente al registrado ... Alguien puede decirmealgo?... Gracias---
Como decía Carlos unos mensajes atrás, utiliza la función DMáx.
--
Saludos,Tomás Boixethttp://www.abaforum.es/tomasb
PROBLEMAS CON LA SEGURIDAD A NIVEL DE USUARIOS
He terminado mi base de datos y ahora quiero asignar la seguridad a nivel deusuario, pues bien1º he dividido la base de datos.2º he establecido los usuarios y los permisos respectivos.3º inicio el asistente para crear la tabla protegida.
PROBLEMA, arranco la base de datos como administrador y asi no puedoprotegerla.¿como la inicio con un usuario?
Os parecera una chorrada pero llevo horas intentando sin satisfaccionproteger la base de datos con nivel de usuario ... alguien me puede hecharuna mano.
---Hace bastante intente lo que comentas y lo deje porque me desesperé. Despuésme compré un libro de Access en que decía mas o menos como establecer laseguridad a nivel de usuario. Te digo. Lo que tienes que hacer es crear unnuevo grupo en el que tengas administradores y usuarios. Asignas lospermisos correspondientes. El problema está en que Access por defecto creeque uno es el administrador y para evitar esto tienes que crearte un gruponuevo con un nuevo administrador(el nombre que tu quieras) y quitarle todoslos permisos al que pone Access por defecto. Si no haces esto cualquiera quese lleve la base de datos a su ordenador la podrá abrir sin ningún problema.
Esto que te cuento es la teoría te digo que aun no lo he comprobado. Detodas formas ya me dirás como te ha ido y a ver si entre los dos conseguimoshacer con la maldita seguridad a nivel de usuario.
NORMAS 19 43 Y 58 DEL C.S.B.
Hola a todos:
Las normas 19, 43 y 58 del Consejo Superior Bancario las podeisencontrar en la página de José Bengoechea enhttp://www.teleline.es/personal/j.b.chea
Un saludo a [email protected]
ODE TOOLS PARA ACCESS 97
Hola a todos:Tengo las ODE TOOLS 97 y estoy creando la instalacion de una base de datoscon el setupwizar. Lo hace todo bien, pero yo creia que de la base de datoste crea un ejecutable, y a mi no me lo ha hecho, solor me ha copiado la basede datos tal cual, y esta abierta con el código y todo lo demás a la vista.¿Hago algo mal o es así?Gracias si alguien me contesta.
---
Has de crear varios elementos antes de empezar a distribuir la aplicacion:
1) Separa las tablas con el divisor de bases de datos2) Create un grupo de trabajo de access en el que solo tu tengas acceso aldiseño de todo. Es decir Hazte propietario unico e indiscutible de la basede datos :-)3) Compacta y crea un archivo .Mde de la base de datos4) Distribuye solo el .Mde y nadie que no tenga un crackeador de accesspodra acceder al código.
El motivo de separar las tablas no es otro que el que cualquiera pueda hacerlo que quiera con los datos, asi que si no es lo que tu quieres no lo hagas.
Un saludo...
..Todo es correcto, esas tools te permiten crear discos de instalacion parainstalar sin que el cliente necesite tener instalado el access, pero ten encuenta que el fichero .mdb es una base de datos, necesita escribirse sobreel pues almacena las tablas. Te puedes aproximar a lo que quieres creando un.mde que evitara que puedan diseñar forms reports y modulos.Un saludo JavaTex
...Bien, la solución del mde és una. Pero puedes hacer lo que quieres creandoun acceso directo al mdb en runtime. Ésto lo puedes hacer des del asistenteo a posteriori. Si dejas que el asistente lo haga no hay ningún problema.Para hacerlo cuando estés en la pantalla dónde pone List of Shortcuts: ledas al botón Add. El te pondrá un "New Shortcut". Entonces ve al tab dóndepone Database Shortcut Properties. En file to open indica el mdb que tienelos procesos (tienes que haberlo puesto en la lista inicial), es decir elmdb que quieres distribuir i ejecutar. En Description pon un unadescripción. Ahora lo más importante, bajo el epígrafe "DatabaseCommand-Line Options" marca la última opción: Run-Time. Si además quieresque utilicen un grupo de seguridad determinado marca también la opciónWorkgroup (tienes que haber puesto también el mdw en la lista de ficheros alprincipio).Luego sigue adelante con el setup i cuando te pregunta "Which of thefollowing components do you want to include?" tienes que marcar el primero"Microsoft Access RunTime Version" a parte de los demás que quiera incluir.Luego sigue cómo hacias y ya está. Una vez ejecuten el setup de lainstalación en cada pc les creará un acceso directo a la aplicación con losmodificadores necesarios.
Para que veas un ejemplo :
"C:\Archivos de programa\Microsoft Office\Office\msaccess.exe" /runtime/wrkgrp "C:\EINES\wgroup\ecoadt80.mdw" "C:\EINES\NRG\Nrg#p.mdb"
Esta es la línea de comando de un acceso directo que abre una aplicación conla runtime del Access y bajo un grupo de seguridad determinado.
Cuando abres una aplicación en runtime no se puede acceder a los objetos dela base de ninguna manera. No funcionan ni F11 ni control-F11 ni nadaparecido. Eso si, tienes que tener muy bien implementado el control deerrores dentro de los formularios y funciones, porque a la que algo de un
error que no tengas controlado, Access le da el error al usuario y despúéscierra la aplicación y el Access porqué no se puede visualizar el mòdulo delfallo, o sea, que los echa, y eso no les gusta mucho (sic!)
En fin, nosotros siempre instalamos las aplicaciones en run-time. Sólo lohacemos en mde cuándo la damos realmente por definitiva o si tienesproblemas de lentitud graves para acelerarla. También será práctio sinótienes referencias a librerias de otras aplicaciones. En ese caso resultamuy tedioso hacer una modificación, puesto que tienes que volver a compilary a crear los mde de todas las librerias o aplicaciones que tengasreferenciadas.
En fin, si tienes alguna duda dímelo.
Núria
LETRA DEL NIF
Cortesía de Jaime Puerta en éste grupoSaludos Jom
Function letra_dni(dni)' calcula la letra del dniConst DNILET = "TRWAGMYFPDXBNJZSQVHLCKE"letra_dni = Mid(DNILET, 1 + (dni Mod 23), 1)End Function
ACCESS Y OTULOOK EXPRESS
¿Qué parametro debo pasarle al outlook para que al pulsar un botón en unformulario de access me habra el outlook pero sólo la ventana de enviarnuevo correo? Muchas gracias de antemano.
E-Mail: [email protected]
---
Con la accion EnviarObjeto (macro) puedes enviar un E-Mail,(DoCmd.SendObject)
EXPORTAR TABLAS DE ACCESS A TEXTO
Para cada registro que guardes en la tabla con losnombres de tablas utilizas:
DoCmd.TransferText acExportDelim, tblMaestra!NomDestino & ".txt", ,tblMaestra!NomTabla
CALCULO DE HORAS
Mi problema es: Tengo que calcular una suma de horas, pero cuando pasa de> 24, automáticamente suma un dia entero y del total resta 24 hora y nunca> consiguo lo que quiero, que es, por ejemplo 52:35:00.
---
Prueba lo siguiente:
Option Compare DatabaseOption Explicit
Dim lngDias As LongDim lngHorasTotales As LongDim lngHoras As LongDim lngMinutos As LongDim lngSegundos As Long
' la siguiente función devuelve una cadena con el formato que querías' además actualiza las variables globales de día, hora, etc...
Public Function SumaHoras(Hora1 As Date, Hora2 As Date) As String
Dim datSumaHoras As Date
datSumaHoras = Hora1 + Hora2
lngDias = datSumaHoras \ 1lngHoras = DatePart("h", datSumaHoras)
lngHorasTotales = lngDias * 24 + DatePart("h", datSumaHoras)lngMinutos = DatePart("n", datSumaHoras)lngSegundos = DatePart("s", datSumaHoras)
SumaHoras = lngHorasTotales & ":" & lngMinutos & ":" & lngSegundos
End Function
Hora1 y Hora2 pueden pasarse en formato de hora
debug.print SumaHoras(#13:12# , #20:12:5#)
también pueden pasarse como un número fraccionalpor ejemplo 5 horas y media más 2 horas y cuarto(Hay que dividir las horas entre 24 horas de 1 día)
debug.print SumaHoras(5.5/24 , 2.25/24)
ENVIAR FAX
Aguien puede decirme como puedo enviar un faxdesde access.Saludos y gracias.
---
Hola,
Yo lo he hecho de la siguiente forma:
Haces el informe que luego vas a enviar por fax. Luego entras enconfigurar Pagina, y en página le pones usar impresora predeterminada, lepones en lugar de la impresora el fax.
Espero que te sirva
CODIGO DE BARRASAlguien tiene un control activeX para imprimir codigos de barras (EAN13) en Access, que me pueda pasar...O bien un link de donde me lo pueda bajar.Gracias... :-)
---En http://www.abaforum.es/users/1046/abarcode/index.htm te puedes bajar unprograma excepcional, pero es shareware.
OUTLOOK EXPRESS Y ACCESS¿Qué parametro debo pasarle al outlook para que al pulsar un botón en unformulario de access me habra el outlook pero sólo la ventana de enviarnuevo correo? Muchas gracias de antemano.
E-Mail: [email protected]
---
Hola
Por código:dim oOutLook as New OutLook.ApplicationDim oMensaje as OutLook.MailItemSet oMensaje=oOutLook.CreateItem(olMailItem)oOutLook.visible=true
Saludos Quim
INSTALAR ACCESS 97 SI YA HAS INSTALADO ACCESS 2000Si ya tienes instalado Access 2000 y quieres instalar Acces97 y quefuncionen los dos sigue los pasos:
1. Buscar fichero Hatten.ttf y renamearlo a Hatten.sav para no recibir elmensaje " No license ........"
2. Buscar el fichero Msaccess.exe y renamearlo a Msaccess.2k . Antes derenamearlo confirma que la versión de Msaccess.exe es 9,0x presionando elboton derecho en el fichero y mostrar propiedades. Click Versión
3. Instala Access 97
4. Durante la instalación, cuando te pregunte en que directorio instalar,cambia por ejemplo a C:\Archivos de Programas\Microsoft Officce97\
5. despues de finaliza la instalación, busca Msaccess.2k y vuelvelo a llamarMsacces.exe. Tambien busca Hatten.sav y vuelvelo a llamar Hatten.ttf
Un saludo desde el Ayuntamiento de Burgos
---EVITAR PANTALLAZOSHola, he creado unos botones para alternar la vista de diversos formularios. Para que latabla se actualice al cambiar de un formulario a otro en la macro " Ir a Formulario tal"asociada al botón correspondiente he colocado Cerrar/Abrir fornulario tal/Maximizar.Luego he desmarcado en Herramientas/Inicio todas las opciones.pues bien al ejecutarlo funciona bien, actualiza los campos en cada cambio de pantalla,pero se ven unos "pantallazos rápidos" que deben de ser la ejecución de la Macro.
¿Sabésis como puedo evitarlo? Gracias por vuestra ayuda
Barley---
establece eco a noo por codigo docmd.echo falseal final vuelvelo a poner a true o no veras nadaUn saludo JavaTex
ACTIVAR/DESACTIVAR LA TECLA SHIFT
Esto lo recogi de estas news :
Para deshabilitar/habilitar la tecla shift se usa (por lo menos yo elsiguiente código):
Sub DES()MsgBox ("entrando ....")On Error GoTo ERROR1MsgBox ("alla voy ....")Dim DB As DatabaseDim PROP As PropertyConst NOENCONTRADO = 3270Set DB = CurrentDb()' Poner aquí debajo False para desactivar el SHIFT y TRUE para ActivarloDB.Properties("ALLOWBYPASSKEY") = FalseExit SubERROR1:If Err = NOENCONTRADO ThenSet PROP = DB.CreateProperty("ALLOWBYPASSKEY", dbBoolean, False)DB.Properties.Append PROPMsgBox ("Propiedad creada")Resume NextElseMsgBox "ESTO NO FUNCIONA"Exit SubEnd IfEnd Sub
SITIOS DONDE ENCONTRAR EJERCICIOS Y MANUALES DE ACCESS
www.abaforum.es/users/1046/access.htmwww.areaint.com/Curso_Access.htmwww.lawebdelprogramador.com
DAR VALOR A UN CAMPO DEPENDIENDO DEL VALOR DEL OTRO
Necesito que cuando introduzco en el campo NUMERO un número de seriede un equipo, el campo TIPO se rellene automaticamente ya que todoslos equipos cuyo número empieza por 1 son del tipo AKE; los que cuyonúmero de serie empiezan por 4 son siempre del tipo DPQ; y así etc.
He intentado con la sentencia SiInm[NUMERO]=1???.... etc pero no meacepta los comodines, luego he probado con >y<, ahí si funciona perohay un TIPO que su número empieza por 06 y hay falla, y por otro ladose rellena el campo pero no consigo rellenar el campo del formulariopero no consigo relacionarlo con el campo correspondiente de la tabla.
En fin, no se si me habre conseguido explicar... de todos modosgracias por tu interés.
Paco---En el formulario metes el campo tipo y el campo numero, el campo numero debeser de tipo texto, pues por lo ke veo metes numeros que empiezan por 0(cero) y es un nº de serie. por lo ke veo en el formulario has metido uncuadro de texto independiente y por eso te aparece el tipo en el formulariopero no se almacena en la tabla, al cuadro de texto tipo del firmulariocomprueba que su origen de control sea tipo: suponiendo estoEn el evento despues de actualizar el campo numero entras en codigo y lepones
if isnull(numero) then exit subIf numero Like "1*" Thentipo = "AKE"ElseIf numero Like "2*" Thentipo = "valorde los 2"ElseIf numero Like "3*" Thentipo = "valorde los 3"ElseIf numero Like "4*" Thentipo = "valorde los 4"Elsetipo = "tipodesconocido"End If
Si tienes algun problema dimelo porque es sencilloUn saludo JavaTex
IMPRIMIR DESDE ACCESS UN DOCUMENTO DE WORD
Hay varias formas de hacerlo, una de ellas sin necesitar referenciarbibliotecas sería: crea una sub en un modulo y ejecutala donde te interese,la sub es la siguiente (crea un modulo y pega eso dentro de el)Sub ImpriWord()
Dim Apli As Object, i As IntegerDim Mydoc As ObjectSet Apli = CreateObject("Word.Application")Apli.Visible = TrueSet Mydoc = Apli.documents.Open(FileName:="c:\pru.doc")Mydoc.PrintOutFor i = 1 To 100DoEventsNext iApli.Quit
End Sub
Notas: Donde pone C:\pru.doc ponle tu documento a imprimirapli.visible=true -> esa linea borrala si no kieres ke se vea el procesoLo del bucle con el doevents ya se ke es un poco chapucero, pero detectarcuando word termino de imprimir para cerrarlo es un poco mas complejo y conese bucle da tiempo a imprimir, si tu documento fuera muy largo aunmenta el100.Si tu documento tiene macros y tienes activado lo de las macros al abrirlopreguntaria lo de si quieres abrir el documento con macros
Espero que te sirva, un saludo JavaTexSi tienes dudas me lo dices, aunque a mi esa sub me funciono a la primera
SIN TITULO
Veamos, tengo un formulario continuo, y un campo es calculado, pues bien,quiero que el valor deese campo dependa del valor que tiene en el registro anterior, mirar elejemplo
CAMPO1 CAMPO2 CAMPO3 (=CAMPO3anterior+CAMPO2)------ ------ ------Pepe 5000 5000Antonio 2000 7000Paco 8000 15000
¿Se entiende?, mi gran problema es pues como referencio al CAMPO3anterior,bueno, muchas graciasa todos. Un Saludo.
---Supongamos que en la tabla que contiene Campo2 hay tambien un campo llamadoid que es autonumericocrea un cuadro de texto y en origen de control ponle (supongamos ke se llamaacumulado)=DSuma("[Campo2]";"[NombreTablaquecontieneCampo2]";"id<=" & [id])
Nota: en el evento al activar registro del formulario ponleacumulado.requery
Un saludo JavaTex
POSICION EN FORMULARIO EN FUNCION DE CAMPOEstoy haciendo una base de datos sobre equipos de futbol, gestionandocompeticiones, clasificaciones, etc
El problema llega cuando en un formulario "Clasificación" quiero poner laposición.Los registros van cambiando de orden según los puntos que tengan los equiposy yo lo que quiero es que haya un campo independiente que me ponga de arribaa abajo las posiciones (1,2......n). Igual es una tontería pero no se comohacerlo.
---Supongamos que el formualrio tienes un campo numerico llamado puntos (y queel control que lo muestra tambien se llama puntos) que son los puntos de
cada equipo, y que el formulario se supone vendra ordenado por ese campo.Crea un cuadro de texto en el formulario en cuyo origen de control ponle=Pos()
Entra en codigo y pon
Function Pos()If IsNull(puntos) Then Exit FunctionPos=DCount("*", "NombreTabladeclasificaciones", "puntos>" & puntos)end function
Nota: al añadir un registro deberas hacer un requery de ese cuadro de textoUn saludo JavaTex