Re: Outlook Calendar and Tasks
Hi every one long time no speak
ive made considerabloe progress in alpha working with outllok pulling info from table etc etc lernt alot of coding thanks to that
ive got a question to do with ms word mail merging basically i want to record in my customers db record when and what letter i have sent them automatically when i do a mail merge..
basically i have a buton on screen for when i want to send them a letter via mail merge i click it brings up a list of my letters i have preconfigured and it merges the client info straight acroos to word and done.
what i now want to do is when that happens i want it to record what ive done in the clients record say in a table called letters joint to the customer via the unique id. ho would i go about doing this also it n=be great if the file auto saves to the clients specific folder based on ther unique id i understand this bit can be done via macros in word to a degree
i know this question is in the wrong section but you have all been of great help so far
many thanks dave
Announcement
Collapse
The Alpha Software Forum Participation Guidelines
The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
Moderators may also rename posts and threads if they are too generic or do not property reflect the content.
Moderators may move threads if they have been posted in the incorrect forum.
Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.
The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.
Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.
Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.
Bonus TIPS for Successful Posting
Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.
When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.
The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.
When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.
A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.
If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.
When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.
Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
- Be professional in your conduct
- Be kind to others
- Be constructive when giving feedback
- Be open to new ideas and suggestions
- Stay on topic
Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
- Spam.
- Vulgar language.
- Quotes from private conversations without permission, including pricing and other sales related discussions.
- Personal attacks, insults, or subtle put-downs.
- Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
- Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
- Sexually explicit or violent material, links, or language.
- Pirated, hacked, or copyright-infringing material.
- Encouraging of others to engage in the above behaviors.
If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
- Remove the Post or Thread - the content is removed from the forum.
- Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
- Temporarily Ban the User - user is banned from forum for a period of time.
- Permanently Ban the User - user is permanently banned from the forum.
Moderators may also rename posts and threads if they are too generic or do not property reflect the content.
Moderators may move threads if they have been posted in the incorrect forum.
Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.
The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.
Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.
Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.
Bonus TIPS for Successful Posting
Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.
When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.
The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.
When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.
A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.
If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.
When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.
Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less
Outlook Calendar and Tasks
Collapse
X
-
Re: Outlook Calendar and Tasks
David,
now i want a button to import all the data shown on the event
Next step is "Reading from table ". Sorry, You have to understand the variable and how to get the data from simple way(?) before complex(?) code way.
Leave a comment:
-
Re: Outlook Calendar and Tasks
Next, Create the Outlook ole udf,
Code:FUNCTION outlook_ole AS A (ptr AS P ) with ptr '========== Start the Outlook OLE ============== dim objOutlook as P constant olAppointmentItem = 1 objOutlook = ole.GetObject("","Outlook.Application") objAppointment = objOutlook.CreateItem(olAppointmentItem) objAppointment.Start = vStartDate '<<=== the variable and make sure same name when you create the below at button1 objAppointment.Duration = vDuration objAppointment.AllDayEvent = vDayEvent objAppointment.Subject = vSubject objAppointment.Body = vBody objAppointment.Location = vLocation objAppointment.ReminderMinutesBeforeStart = vReminder objAppointment.ReminderSet = vRemSet objAppointment.Save() 'ui_msg_box("Confirmation","Appointment Booked" ) end with END FUNCTION
Button1; current data
* How to get the value?
1) Create the variables with current form's value which called the object method.
1-a) onpush event -- open an ActionScripts
1-b) See the attachments and create the variables as you need
1-c) Watch on the variable name. you have to create same name as the Outlook_ole udf
2) Select a form/record to export to outlook then press the button 1, you should get a(one you have selected) same appointment from outlook.
Lesson_btn1_event.jpglesson_btn1_eventDetail.jpgLesson_object.jpg
I noticed that the table does not have the Reminder and reminderSet so you may write the variables as
dim vReminder as L = .t.
dim vRemSet = 15
Leave a comment:
-
Re: Outlook Calendar and Tasks
David,
Try Lesson 2 or Case 2 and see what is going on the Passing variables
from button3, changed this to activate red or blue color
Code:'Get 'Value' property of 'Start_date' in Form 'Event_List' . [COLOR="#FF0000"]' DIM shared vStartDate AS d[/COLOR] 'Lesson 2; Check after delete shared variable. [COLOR="#0000FF"][B]DIM vStartDate AS d[/B][/COLOR] vStartDate = parentform:Start_date.value
Code:'=========== Case 2; Change the value here and show the revised value ============== 'Hold this until 2nd lesson [COLOR="#FF0000"]vRevisedDate = {1/1/2014} vStartDate = vRevisedDate [/COLOR] 'or you can write vStartDate = {1/1/2014} 'which is simple way 'Test for Same MsgBox with same variable name -- changed the value, not same as the form's value [COLOR="#0000FF"]msgbox("from UDf ","Changed the value at UDF "+crlf()+"Start Date: "+vStartDate )[/COLOR]
If you are not sure, post the questions.
Leave a comment:
-
Re: Outlook Calendar and Tasks
Good Morning,
** assumed you know the definition of the VARIABLES, but not know how to use it.
First, I want to show you how to use the variables.
Created the UDF
Code:'It will show How to pass the variables from a to b FUNCTION myfirst_udf AS A (ptr as p) '// " With ..end with " is called NameSpace Function. A5 will be passing the variables within with ptr 'Case 1; Check the form's value msgbox("from UDf ","Show the PASSING Result from UDF "+crlf()+"Start Date: "+vStartDate ) '=========== Case 2; Change the value here and show the revised value ============== 'Hold this until 2nd lesson 'vRevisedDate = {1/1/2014} 'vStartDate = vRevisedDate 'or you can write vStartDate = {1/1/2014} 'which is simple way 'Test for Same MsgBox 'msgbox("from UDf ","Changed the value at UDF "+crlf()+"Start Date: "+vStartDate ) end with END FUNCTION
Code:'Save record in current form. topparent.commit() 'Get 'Value' property of 'Start_date' in Form 'Event_List' . DIM shared vStartDate AS d 'Lesson 2; Check after delete shared variable 'DIM vStartDate AS d vStartDate = parentform:Start_date.value 'test passing variables myfirst_udf(local_variables())
See the "lesson 2", make it as activate after try 1st.
Leave a comment:
-
Re: Outlook Calendar and Tasks
Originally posted by johnkoh View PostDavid,
OK, Make the sample database.
I made one from A5 sample. (1) from Tables/sets control panel --> select "New" button ---> Using Genie --> Select "event list" from template name.
===> Selected "include sample data ==> Next , table name as "event" ==> Finish.
Now you have the table with sample data.
I have attached the screenshots for your reference.
[ATTACH=CONFIG]37853[/ATTACH][ATTACH=CONFIG]37854[/ATTACH][ATTACH=CONFIG]37855[/ATTACH]
Leave a comment:
-
Re: Outlook Calendar and Tasks
David,
The xbasic is easy once you know how to and the concept of the command.
I created two buttons without any "action"
lesson_form_button.jpg
I do not have good skill of teaching or writing but I can help you.
a) Button1 will be a case A --> Just the records from Form, whatever you see.
1) Which records and fields(value)
2) and How to find the records?
3) Two method; object and table method
b) Button2 will be a case B --> read from table's records
1) Which records and fields(value)
2) and How to find the records?
3) How to find and read the table's records -- query-method, index-method, array-method
Think about those cases and will show you more on tomorrow
Leave a comment:
-
Re: Outlook Calendar and Tasks
David,
OK, Make the sample database.
I made one from A5 sample. (1) from Tables/sets control panel --> select "New" button ---> Using Genie --> Select "event list" from template name.
===> Selected "include sample data ==> Next , table name as "event" ==> Finish.
Now you have the table with sample data.
I have attached the screenshots for your reference.
lesson_table.jpglesson_Data.jpgLesson_form_01.jpg
Leave a comment:
-
Re: Outlook Calendar and Tasks
ok so this is doing my nut in is there a way the transfer the browser from a form into outlook appoinmnetbody as i filter the browse for the records i want all ones matching the customers id with the fields in the browse this is doing my nutt pwease anybody help i just cant seem to get my head around xbasic coding
Leave a comment:
-
Re: Outlook Calendar and Tasks
David,
Please, find this fetch_1.jpg from A5 help and read.
It will be next step to do.
Leave a comment:
-
Re: Outlook Calendar and Tasks
David,
That is great. Now do you have a sample table?
If you do, show me the Structure and some of data or zip file here so I can make my side sample.
Leave a comment:
-
Re: Outlook Calendar and Tasks
Originally posted by johnkoh View PostDavid,
Try to work with one record only.
Copy and paste this code on the xBasic Script, save and Run it. After run it, open your outlook see the appointment date and show me the result.
Code:'// this is called variables. vStatDate = "1/16/2014 11:00 AM" vDuration = 4 vDayEvent = .t. vSubject = "Test My first Appointment" vBody = "Test Body work with outlook" 'Location --- 'I do not know what it is ref. So I left it as is now vReminder = 15 vRemSet = .t. '===== End ========== '========== Start the Outlook OLE ============== dim objOutlook as P constant olAppointmentItem = 1 objOutlook = ole.GetObject("","Outlook.Application") objAppointment = objOutlook.CreateItem(olAppointmentItem) objAppointment.Start = vStartDate objAppointment.Duration = vDuration objAppointment.AllDayEvent = vDayEvent objAppointment.Subject = vSubject objAppointment.Body = vBody objAppointment.Location = "44/2039" objAppointment.ReminderMinutesBeforeStart = vReminder objAppointment.ReminderSet = vRemSet objAppointment.Save() ui_msg_box("Confirmation","Appointment Booked" )
code work for one record.png
Leave a comment:
-
Re: Outlook Calendar and Tasks
David,
Try to work with one record only.
Copy and paste this code on the xBasic Script, save and Run it. After run it, open your outlook see the appointment date and show me the result.
Code:'// this is called variables. vStatDate = "1/16/2014 11:00 AM" vDuration = 4 vDayEvent = .t. vSubject = "Test My first Appointment" vBody = "Test Body work with outlook" 'Location --- 'I do not know what it is ref. So I left it as is now vReminder = 15 vRemSet = .t. '===== End ========== '========== Start the Outlook OLE ============== dim objOutlook as P constant olAppointmentItem = 1 objOutlook = ole.GetObject("","Outlook.Application") objAppointment = objOutlook.CreateItem(olAppointmentItem) objAppointment.Start = vStartDate objAppointment.Duration = vDuration objAppointment.AllDayEvent = vDayEvent objAppointment.Subject = vSubject objAppointment.Body = vBody objAppointment.Location = "44/2039" objAppointment.ReminderMinutesBeforeStart = vReminder objAppointment.ReminderSet = vRemSet objAppointment.Save() ui_msg_box("Confirmation","Appointment Booked" )
Leave a comment:
-
Re: Outlook Calendar and Tasks
Originally posted by viiddi View PostHERE IS WHAT I PUT TOGETHER
dim objOutlook as P
constant olAppointmentItem = 1
objOutlook = ole.GetObject("","Outlook.Application")
objAppointment = objOutlook.CreateItem(olAppointmentItem)
objAppointment.Start = DATE_OF_APPOITNMENT_.value '
objAppointment.AllDayEvent = .T.
objAppointment.Subject = CUSTOMER_ID_.value + " " + NAME.text + " " + SURNAME.text + " "
recs = parentform.QueryRun("customer_id_ = "+customer_id_.value) 'get a count of the records with the same customer_id as the record visible on the form
if recs > 0
parentform.Fetch_first()
objAppointment.Body = CUSTOMER_ID_.value + " " + NAME.text + " " + SURNAME.text + crlf(1) + " Mobile Numbers= "+ CONTACT_NUMBER1.VALUE +crlf(1) +" Phone Numbers= "+ CONTACT_NUMBER_2.VALUE +crlf(1) + ADDRESS.TEXT +crlf(1)+ ADDRESS2.TEXT +crlf(1)+ TOWN.TEXT+crlf(1)+COUNTY.TEXT +crlf(1)+POSTCODE.TEXT +crlf(2)+ " E-MAIL = " + EMAIL_ADDRESS_.TEXT + crlf(2) + crlf(3)+ "NOTES" +crlf(2)+ Notes_.value + crlf(3) + "TS_______ INV________ Paid_________ Unpaid________ Last Charge___________" + crlf(2) + "previous jobs below " + crlf(2)
for qx = 1 to recs -1
parentform.Fetch_next()
objAppointment.Body = CUSTOMER_ID_.value + " " + NAME.text + " " + SURNAME.text + crlf(1) + " Mobile Numbers= "+ CONTACT_NUMBER1.VALUE +crlf(1) +" Phone Numbers= "+ CONTACT_NUMBER_2.VALUE +crlf(1) + ADDRESS.TEXT +crlf(1)+ ADDRESS2.TEXT +crlf(1)+ TOWN.TEXT+crlf(1)+COUNTY.TEXT +crlf(1)+POSTCODE.TEXT +crlf(2)+ " E-MAIL = " + EMAIL_ADDRESS_.TEXT + crlf(2) + crlf(3)+ "NOTES" +crlf(2)+ Notes_.value + crlf(3) + "TS_______ INV________ Paid_________ Unpaid________ Last Charge___________" + crlf(2) + "previous jobs below " + crlf(2)
next
end if
objAppointment.Location = CONTACT_NUMBER1.value + " " + POSTCODE.TEXT '
objAppointment.ReminderMinutesBeforeStart = 15
objAppointment.ReminderSet = .T.
objAppointment.Save()
ui_msg_box("Confirmation","Appointment Booked" )
)
Leave a comment:
-
Re: Outlook Calendar and Tasks
Originally posted by Stan Mathews View PostIf customer_id is numeric
recs = parentform.QueryRun("customer_id = "+customer_id.value) 'get a count of the records with the same customer_id as the record visible on the form
if recs > 0 ' if the count is greater than zero
parentform.Fetch_First() 'make sure we're on the first record of the customer_id
'your present code here 'writes the values from the first record to the outlook calendar
for qx = 1 to recs -1 'loop to process the rest of the records for the current customer (total count - 1 for the first record)
parentform.Fetch_next() 'go to the next record with the same id
'your present code here, again 'writes the values from the next record to the outlook calendar
next 'loop back if more records
end if
HERE IS WHAT I PUT TOGETHER
dim objOutlook as P
constant olAppointmentItem = 1
objOutlook = ole.GetObject("","Outlook.Application")
objAppointment = objOutlook.CreateItem(olAppointmentItem)
objAppointment.Start = DATE_OF_APPOITNMENT_.value '
objAppointment.AllDayEvent = .T.
objAppointment.Subject = CUSTOMER_ID_.value + " " + NAME.text + " " + SURNAME.text + " "
recs = parentform.QueryRun("customer_id_ = "+customer_id_.value) 'get a count of the records with the same customer_id as the record visible on the form
if recs > 0
parentform.Fetch_first()
objAppointment.Body = CUSTOMER_ID_.value + " " + NAME.text + " " + SURNAME.text + crlf(1) + " Mobile Numbers= "+ CONTACT_NUMBER1.VALUE +crlf(1) +" Phone Numbers= "+ CONTACT_NUMBER_2.VALUE +crlf(1) + ADDRESS.TEXT +crlf(1)+ ADDRESS2.TEXT +crlf(1)+ TOWN.TEXT+crlf(1)+COUNTY.TEXT +crlf(1)+POSTCODE.TEXT +crlf(2)+ " E-MAIL = " + EMAIL_ADDRESS_.TEXT + crlf(2) + crlf(3)+ "NOTES" +crlf(2)+ Notes_.value + crlf(3) + "TS_______ INV________ Paid_________ Unpaid________ Last Charge___________" + crlf(2) + "previous jobs below " + crlf(2)
for qx = 1 to recs -1
parentform.Fetch_next()
objAppointment.Body = CUSTOMER_ID_.value + " " + NAME.text + " " + SURNAME.text + crlf(1) + " Mobile Numbers= "+ CONTACT_NUMBER1.VALUE +crlf(1) +" Phone Numbers= "+ CONTACT_NUMBER_2.VALUE +crlf(1) + ADDRESS.TEXT +crlf(1)+ ADDRESS2.TEXT +crlf(1)+ TOWN.TEXT+crlf(1)+COUNTY.TEXT +crlf(1)+POSTCODE.TEXT +crlf(2)+ " E-MAIL = " + EMAIL_ADDRESS_.TEXT + crlf(2) + crlf(3)+ "NOTES" +crlf(2)+ Notes_.value + crlf(3) + "TS_______ INV________ Paid_________ Unpaid________ Last Charge___________" + crlf(2) + "previous jobs below " + crlf(2)
next
end if
objAppointment.Location = CONTACT_NUMBER1.value + " " + POSTCODE.TEXT '
objAppointment.ReminderMinutesBeforeStart = 15
objAppointment.ReminderSet = .T.
objAppointment.Save()
ui_msg_box("Confirmation","Appointment Booked" )
The problem im getting with this code is that the the body field of the appointmnet still only contains one records worth of data and is not keeping each record after one another and only puts in the latest record HEEEELLLPPPPPPPP----- ( I BET BY NOW EVERY ONE IS PISSED OFF WITH THIS :-P )
Leave a comment:
Leave a comment: