Solved

How to export Access contact record to vCard?

Posted on 2004-09-24
13
3,073 Views
Last Modified: 2016-11-19
Hello - how would one go about exporting a typical contact record from an Access (XP) table to a vCard?

Thanks

Mark
0
Comment
Question by:mlagrange
  • 5
  • 4
  • 3
  • +1
13 Comments
 
LVL 41

Expert Comment

by:shanesuebsahakarn
ID: 12144337
Can you export it as a CSV file (File->Export) and import it into your target application?
0
 

Author Comment

by:mlagrange
ID: 12144737
Well, my impression of the whole vCard thing was that all the recepient had to do was click on the vCard icon, and it would automatically import the contact info into Outlook.

After looking at the contents of a .vcf file, I can imagine that there must be some rules about field names, multiple values for a given field, etc.

Not to mention how to attach it to an e-mail so it would get processed like a vCard...

That's what I'm really looking for

Thanks

Mark
0
 
LVL 41

Expert Comment

by:shanesuebsahakarn
ID: 12144760
Sorry, I'm not really familiar with vcf files. You'd have to write some kind of VBA function to export the record in the format desired, but I don't know of any pre-written code offhand. How familiar are you with VBA coding?
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 

Author Comment

by:mlagrange
ID: 12144868
familiar with VBA coding: yes... oh, yes...
familiar with vcf files: no
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12145041
Here are the official specs for vCards:

http://www.imc.org/pdi/
0
 
LVL 41

Expert Comment

by:shanesuebsahakarn
ID: 12145940
Hmm, it seems that Access 2003 can export directly to a .vcf file, but Access 2002 (XP) can't. Briefly scanning the spec, it seems reasonably straightforwards to create one programmatically but I don't really have time to investigate the full spec document.

In brief though, you'd open a file programmatically, open a recordset with the record you want to export and then write out each field in the format required - placing the header and footer information as required.
0
 
LVL 15

Accepted Solution

by:
will_scarlet7 earned 250 total points
ID: 12146206
I would reccomend you either create a VCard file from Outllook or just view one that you have and copy the template in your code to determine to properties that you need to export. I took one (it had bare minimum data) and copied it to create the following:

Sub CreateVCard()

    Dim c As ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim vcInfo As String
   
    'Set the provider name
    Set c = CurrentProject.Connection
    'Open a recordset with a keyset cursor
    rs.Open "Select Top 3 * From [CompiledInfo]", c, adOpenKeyset, adLockPessimistic

    If Not rs.EOF And Not rs.BOF Then
        rs.MoveFirst
        Do Until rs.EOF
            vcInfo = "BEGIN:VCARD" & vbCrLf
            vcInfo = vcInfo & "VERSION:2.1" & vbCrLf
            vcInfo = vcInfo & "N:" & rs!LastName & ";" & rs!Title & rs!FirstName & rs!MiddleName & ";" & rs!FullName & vbCrLf
            vcInfo = vcInfo & "FN:" & rs!FullName & vbCrLf
            vcInfo = vcInfo & "EMAIL;PREF;INTERNET:" & rs!Email1Address & vbCrLf
            vcInfo = vcInfo & "END:VCARD"
            Call PrintVCard(vcInfo, rs!FullName)
            rs.MoveNext
        Loop
    End If

    rs.Close
    Set rs = Nothing
    Set c = Nothing
   
End Sub

Function PrintVCard(vcInfo As String, flName As String)
    Open "C:\Temp\" & flName & ".vcf" For Output As #1    ' Open file for output.
    Print #1, vcInfo
    Close #1
End Function
0
 

Author Comment

by:mlagrange
ID: 12147415
Great, and thank you.

Now, is there a trick to get this attached to a mail message, so that it functions like a vCard for the recipient?

Thanks

Mark
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12147997
The  code above creates a VCard, so all you'd need to do is write the code for creating youremail object then add the attachment sort of like this:

myMailObject.Attachments.add "C:\Temp\ & flName & ".vcf"
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12149579
ThanX for the points! Glad I could help.

God bless!

Sam
0
 

Author Comment

by:mlagrange
ID: 12150352
Hey, Thank You!

I'm glad you could help, too!  :-D

Mark
0
 
LVL 15

Expert Comment

by:will_scarlet7
ID: 12150416
I realised I was a little short on help about creating the e-mail. I appologise for that. I was on my way to bed (it was midnight). If you need help creating an e-mail in code let me know and I can post some more details.
0
 

Expert Comment

by:Charles Pendrigh
ID: 41894245
Don't you just love it when a 'Best Solution' award is given to a post which doesn't answer the question.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now