Enviament personificat de correu mitjançant Access

Enviament personificat de correu mitjançant Access

Com el seu títol indica, aquesta funció serveix per generar un correu per cada registre de la nostra base de dades personificat amb alguna de les dades de la nostra base de dades, un assumpte, missatge i adjunt comú.

Partint de la base tenim:
– Base de dades –> Taula: PreclientesIdentifica
– Consulta : ConsultaIdentifica
– Formulari amb un boto el qual te nom intern (per el programa, no el que es mostra)  EnviarCorreu2
I Outlook amb el compte en el que vulguem enviar el primer de la llista (no sé el perquè però es posen a la Safata de sortida del PRIMER correu configurat, dona igual que no sigui el predeterminat)

En marxa!
Click dreta sobre el botó –> «Generar Evento…» –> «Generador de código» i ens obrirà això

Private Sub EnviarCorreu2_Click()

End Sub

Dins d’això enganxarem el següent codi

On Error GoTo Err_EnviarCorreu2_Click

Dim BD As Database
Dim NovaQRY As QueryDef
Dim RegistresTemporals As DAO.Recordset
Dim CadenaSQL As String
Dim Correu As String
Dim Nom As String
Dim Fitxa As String

Dim identificador As Long
Set BD = CurrentDb

CadenaSQL = "SELECT * FROM PreclientesIdentifica"
'Selecciona tot (*) de la TAULA PreclientesIdentifica
Set RegistresTemporals = CurrentDb.OpenRecordset(CadenaSQL, dbOpenDynaset)
'obre un registre temporal (Recordset)
If RegistresTemporals.EOF = False Then
'La funció EOF (end of) retorna un valor Boleà que indica si està al final del
'temporal de registres. Existeix tambe la BOF (beginning of) que indica si està
'just al principi del registre

RegistresTemporals.MoveLast
RegistresTemporals.MoveFirst

Do Until RegistresTemporals.EOF
BD.QueryDefs.Delete ("ConsultaIdentifica")
'Borra el temporal de la consulta

identificador = RegistresTemporals!NUM_FICHA
Set NovaQRY = BD.CreateQueryDef("ConsultaIdentifica", _
         "SELECT * FROM PreclientesIdentifica WHERE PreclientesIdentifica.NUM_FICHA = " & identificador)
'Crea temporal consulta de la taula PreclientesIdentifica i
'relaciona el NUM_FICHA amb el nº de registre de la taula

Correu = RegistresTemporals!E_MAILS
'Li diu que el "Correu" que es un String es igual al RecordSet columna Email

Nom = RegistresTemporals!ENTIDAD
'Li diu que el "Nombre" que es un String es igual al RecordSet columna Nombre

Fitxa = RegistresTemporals!NUM_FICHA
'Li diu que el "Ficha" que es un String es igual al RecordSet columna Ficha

SendMessages Correu, "", "Carnestoltes Planning 2012 - " & Fitxa & " " & Nom, _
"Amics," & Chr(13) & Chr(13) & "Us adjuntem un seguit d'espectacles, activitats i serveis que podrien ser adients per les vostres festes i programacions. Naturalment, sols es una petita part dels continguts de la nostra base de dades." & Chr(13) & "Si ens doneu dates i el vostre criteri de programació us enviarem un seguit de propostes amb els millors preus que puguem aconseguir." & Chr(13) & "No dubteu en trucar-nos per telèfon de 9 a 15 h. i de 16 a 20 h." & Chr(13) & Chr(13) & "Cordialment," & Chr(13) & "Mar Torres" & Chr(13) & Chr(13) & "Planning General d'Espectacles" & Chr(13) & "Tordera, 5    08012 - Barcelona" & Chr(13) & "Tel. 93-284 80 80  Fax 93-284 59 35" & Chr(13) & "E-mail: gestio@planning.cat", _
"C:BOOK PLANNING2012 ESPECTACLES I PREUS.pdf"
'La funció SendMessages la tenim al "Modulo 1" 

RegistresTemporals.MoveNext
'Si tot ha anat be ens movem al seguent registre
Loop
'Fes-ho fins que acabi la llista
End If
BD.Close
RegistresTemporals.Close
'Tanquem els temporals

Exit_EnviarCorreu2_Click:
    Exit Sub

Err_EnviarCorreu2_Click:
    MsgBox Err.Description
    Resume Exit_EnviarCorreu2_Click

Com podeu veure, poso l’explicació de cada cosa, segons el que tinc entès jo clar.., i amb les funcions sense abreviar, per estalviar pes (bytes) normalment en lloc de Recordset posem rst, això ja va a gust del programador per entendre’t desprès.

La funció SendMessages està explicada en aquest post.

El resultat és aquest:

 

Consultes Access excloent valors nuls

Consultes Access excloent valors nuls

Treballant amb Access sovint tinc que consultar coses ja que ningú m’ha ensenyat com funciona el programa i tot s’apren sobre la marxa, com tot vaja xDD

Aquest és el primer de molts post que aniré obrint per fer-me a mi mateix una guia del que faig i de pas ajudar a la resta qui tingui el mateix dubte que jo he resolt. En tot cas començo.

Problema
Estic fent una consulta sobre la Taula -Preclients, en la que hi ha registres que no tenen correu, faig una Consulta que em crea una Taula-PreclientsFiltrats. Això és un problema ja que utilitzo un funció que recorre la Taula-PreclientsFiltrats i envia un correu a cada registre mitjançant Outlook personalitzat i quan troba una direcció nul·la o mal escrita (domini@pepito,com o dominipepito.com) s’atura.

Solució
A la Consulta posar en el camp de «Criterios» (Tinc Office 2010 en castellà) No es nulo

Exemple
Consulta:
Office 2010

Office 2003 Compte amb la sintaxis que canvia de Office 2003 al 2007 en endavant.
 Taula-PreclientsFiltrats:  Problema correu buit

Office 2003:http://office.microsoft.com/es-es/access-help/ejemplos-de-criterios-de-consulta-HP005188516.aspx?CTT=1

Office 2007: http://office.microsoft.com/es-es/access-help/ejemplos-de-criterios-de-consulta-HA010066611.aspx

Office 2010: http://office.microsoft.com/es-es/access-help/ejemplos-de-criterios-de-consulta-HA010341674.aspx?CTT=1

PD: Compte amb la versió i l’idioma d’Access que utilitzeu!

 

La diferencia entre en 2 carregadors idèntics, un nou i l’altre amb 2 anys – ETA0U10EBE

La diferencia entre en 2 carregadors idèntics, un nou i l’altre amb 2 anys – ETA0U10EBE

Per casualitat l’altre dia em vaig donar conte que hi ha un desgast en els carregadors, principalment el carregador A que és idèntic al B, te dos anys més i carrega cada nit el mòbil, sempre endollat a la paret, això s’ha de notar i aquí os deixo la prova.

Veieu que hi ha dues curves de creixement de càrrega, la A pertany al vell i la B al nou, les posteriors son del cotxe. El tros A correspon a 3h i el tros B a 30 min

Tendes escalada, esports d’hivern, etc a Barcelona capital

Tendes escalada, esports d’hivern, etc a Barcelona capital

Ja que de vegades fins i tot jo en faig un embolic a l’hora de mirar coses i comparar preus per les diferents tendes d’esports de Barcelona, faig un post resum.

Vèrtic Barcelona

Dirección: C/ Rocafort, 135 08015 – Barcelona     Ver mapa

Teléfono: 93 511 66 76
E-mail: verticbcn@verticoutdoor.com

Horario
Lunes: 17 a 20:30h.
Martes a Viernes: 10 a 13:30 h y 17 a 20:30 h.
Sábados: 10 a 13:30 h y 17:00 a 20:30 h.

——————————————————————————————-

GR-Zero

Travesera de Gracia 132

telf. 934.16.10.67
fax. 934.16.10.67
email. 

——————————————————————————————-

ESPORTS ARIBAU 35

C/ Aribau 35 08011 – Barcelona
Tlf 93 453-18-22
Horario de lunes a sábado: de 10 a 14 y de 16.30 a 20.30

——————————————————————————————-

ESPORTS L’IGLU

c/ Mallorca 316, 08037 – Barcelona
Tlf 93 457-97-14
Horario de lunes a sábado: de 10 a 14 y de 16.30 a 20.30

——————————————————————————————-

Balmat.Montaña & Esqui  & Alquiler
Gran Vía C.C., 527 – 08011 Barcelona
Tel. 934 548 309 balmat@balmat.com
N41º22’51» / E2º9’25». Cómo llegar

——————————————————————————————-

Balmat. Outlet
Comte d’Urgell, 72 – 08011 Barcelona
Tel. 934 548 309 balmat@balmat.com
N41º22’51» / E2º9’23». Cómo llegar

——————————————————————————————-

Balmat. Ropa técnica & Mochilas & Sacos
Gran Vía C.C., 531 – 08011 Barcelona
Tel. 934 548 309. balmat@balmat.com
N41º 23′ 40″ / E2º09’60». Cómo llegar

——————————————————————————————-

Decatlons … El Corte Ingles … Intersport … etc

Redirecciona el teu web amb javascript

Aquesta funció habitualment s’utilitza per dominis clonats, o webs amb més d’un domini. No te gaire més secret que posar el script dins del nostre index.html i tot llest. Podem configurar el missatge que es mostrarà, el temps que tarda en la redirecció i el web destí òbviament.

var pagina="http://www.elteudomini.algo/"
function redireccionar() 
{
location.href=pagina
} 
setTimeout ("redireccionar()", 4500);

Això en HTML quedaria així per exemple

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Redirecció</title>
<style type="text/css">
<!--
body {
	background-image: url();
}
-->
</style>
</head>

<body>


<!--Redireccio-->
  <script LANGUAGE="JavaScript">

var pagina="http://www.elteudomini.algo/"
function redireccionar() 
{
location.href=pagina
} 
setTimeout ("redireccionar()", 4500);

</script>

<!--Redireccio-->


<p> </p>
<h1><strong>Esta sent redireccionat al web.</strong></h1>
<h1> </h1>
<h1><strong>Si no funciona, prem el següent  <a href="http://www.elteudomini.algo">enllaç</a></strong></h1>
<p>  </p>


</body>
</html>