Access: busqueda compleja, e-mail, impresion matri

Te hago tres preguntas en una, a ver si puedes ayudarme, que llevo un par de meses desesperado:
1. Tengo una BBDD de libros y pedidos en Access. Quiero que se pueda buscar un libro por palabras en el titulo pero a través de un solo cuadro de texto, p.e.: el usuario introduce "programación access" y debe devolverse títulos como: "programación en access 97" "Access 2000, programación con VBA", etc.
2.Para enviar los pedidos a distintos distribuidores, me gustaría hacerlo por e-mail, ¿cómo puedo enviar un e-mail a cada uno de ellos con el pedido de día (el informe ya esta hecho)? Se puede automatizar de alguna forma para que sea lo más sencilloposible para el usuario, ¿qué no tenga que hacer muchas cosas?
3. Tengo que utilizar una impresora matricial y trabajo en W98, como puedo controlar la impresión, ¿qué no sea muy lenta y que me permita imprimir dos informes por hoja ( o uno solo si es muy extenso)?

3 Respuestas

Respuesta
1
1.- Para este punto Necesito que me des una dirección de correo para enviarte una base de datos con una copnsulta que puedes ver el código y utilizar para lo que desees.
2.- En el formulario que tengas para los pedidos le metes un botón de comando que ejecute una Aplicación le buscas el programa de correo y se lo enlazas de manera que cuando de al botón le abra el outlook y si ionvestigas un poco con el outlook o el programa de correov le podrás pasar desde access los parámetros de dirección de Mail etc.
3.- Sobre la impresora matricial desde ya te digo que es bastante complejo manejarla pero te busco algo de información y te diré algo más cuando te envíe la base de datos de ejemplo debusquedas.
Ante todo, muchas gracias por tu rapidez y tu atención. En cuanto al punto 2, mandar un amael, me refiero a que tengo varios distribuidores con dirección de correo, quiero hacer una consulta, que ya tengo, y que se generen automáticamente los e-mail precisos. Probare con lo que me has dicho y trasteando a ver si me sale.
Una dirección de correo para enviar la base datos: [email protected]
Espero a que me digas algo sobre la impresión desde todoexpertos o lo haces a través de correo(cuando puedas, ¿claro)?
Muchas gracias, de verdad
Cierra y valora esta pregunta.
Respuesta
1
Sobre la 1ra pregunta.
Hay una funcion InStr( cadena1, cadena2 ) que se puede usar en programacion para poder encontrar una cadena en otra,,, puedes emplearla para hacer lo que tu quieres en este caso.
Sobre la pregunta 2
Mejor que enviarlo ... seria publicarlo en internet,, cosa que tus clientes puedan ver la información en linea...
Sobre la pregunta 3
El access te permite manejar en los informes el diseño final... o mejor si lo puedes hacer por programación VB
La instrucción InStr, devuelve un numero, la posición donde localiza la cadena o 0 si no encuentra nada, pero no se como puede servirme esto a mi. Te planteo la pregunta de otra forma: tengo un cuadro de texto donde introdir una cadena que tendrá una o varias palabras, tengo un cuadro de lista cuyo origen de datos es una consulta que debe crearse en función de la cadena introducida en el cuadro de texto; podría buscar por esa cadena literalmente, pero lo que necesito es, primero extraer las palabras que componen esa cadena (que ya he resuelto) y hacer la búsqueda de libros cuyos títulos tengan todas esas palabras, pero en cualquier orden.
En cuanto a la segunda cuestión, se trata de que yo envío a un proveedor un pedido, yo seria el cliente. La idea es tener un botón de comando que active una macro o código en VB para que genere un email por cada distribuidor que tenga pedidos pendientes de forma que el usuario no tenga que realizar ninguna operación más que clickear y luego enviar emails desde la bandeja de salida del gestor de correo.
Y en cuanto a la tercera pregunta, se que lo hace pero no se como hacerlo...
Gracias
Lo que necesitas,, creo es mayor capacitación en Visual Basic.. con ello yo creo que podrías resolver los problemas que me planteas... y yo solo te puedo dar sugerencias para que puedas resolver los problemas planteados.
De todas maneras de vuelvo a ayudar...
Punto 1.
Te mando un código VB en access que te puede ayudar a comprender la instrucción instr
Public Sub calcula_direcciones()
Dim db, db1 As Database
Dim rst, rst1, rst2 As Recordset
'Define las direcciones
Dim car(1 To 70), con_dir, dir_dir, dirconsul As String
Set db = CurrentDb()
'Procesa las direcciones de las directoras
Set rst1 = db.OpenRecordset("DirDirectoras", dbOpenTable)
rst1.Index = "CDIR"
'Procesa el detalle de las deudas de las consultoras
Set rst = db.OpenRecordset("Mercurio", dbOpenTable)
'Procesa el detalle de las deudas de las consultoras
Set rst2 = db.OpenRecordset("dirsimilar", dbOpenTable)
rst2.Index = "CCON"
'Elimina el archivo de direcciones similares
With rst2
If Not .BOF Then
.MoveFirst
Do While Not .EOF
.Delete
.MoveNext
Loop
End If
End With
rst.MoveFirst
Do While Not rst.BOF And Not rst.EOF
DIR_CON = ""
dirconsul = rst!cnlcon
directora = rst!cncdir
xccon = rst!ccon
i = 1
Do While i <= 70
car(i) = Mid(rst!cnlcon, i, 1)
If car(i) > " " Then ' mayor que blancos
DIR_CON = DIR_CON + car(i)
Else ' Tiene que evaluar si la longitud de dir_con es mayor que 4
If Len(DIR_CON) > 4 Then
'tiene que validar si esta en la direccion de de la directora
'y que no sea el mismo codigo de consultora de la directora
rst1.Seek "=", directora
If Not rst1.NoMatch Then
dir_dir = rst1!CNLDIR
' Vemos si la dir_con esta en dir_dir
' Si esta grabamos esta consultora
If InStr(dir_dir, DIR_CON) > 0 And DIR_CON <> "CALLE" And DIR_CON <> "BARRIO" And xccon <> rst1!DICCON Then
' Lo busca en dirsimilar ,,,si no esta lo graba
rst2.Seek "=", xccon
If rst2.NoMatch Then
rst2.AddNew
rst2!cdir = directora
rst2!ldir = rst1!CNLDIR ' direccion directora
rst2!ccon = rst!ccon
rst2!lcon = dirconsul ' direccion consultora
rst2.Update
End If
End If
End If
End If
' Tiene que volver a empezar en blanco
DIR_CON = ""
End If
i = i + 1
Loop
rst.MoveNext
Loop
End Sub
Esta rutina lo que hace es comparar una cadena con otra y almacenar ese registro que contiene esa cadena en un archivo... que es lo que necesitas...
Respuesta
1
La primera puedes hacer una consulta en donde pones un formulario filtro y dicen en la consulta que los datos sean COMO el campo de búsqueda del formulario,,,
La segunda te la debo,,,
La tercera para que sea más rapido define la impresora como genérica de texto y lo de las páginas solo podrías hacerlo imprimiendola como formulario continuo o algo parecido pero tendrías que dar formato a la salida de todas maneras así que lo veo un poco difícil,,.
Ante todo, gracias por responder. Me explico un poco más, a ver si puedes ayudarme: El usuario introduce una cadena compuesta por una o varias palabras, tengo hecha una función que me extrae esas palabras, y ahora viene mi problema, que tengo que poner en la consulta para que si por ejemplo son dos las palabras (pal1 y pal2) me seleccione todos los libros en cuyo titulo aparezcan pal1 y pal2, estén juntas separadas, o en cualquier orden.
Tienes que poner exactamente lo que te digo en mi primera linea, o sea en este caso el usuario escribiría en el campo de búsqueda (bus1) "pal" en la consulta incluirías por ejemplo like bus1 y te saldrían todos los que comiencen con eso y luego entonces lo seleccionas y los imprimes...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas