|
Your first problem is your using Access.
There is no "timing/synchronisation" problem as Access is all file based. This sounds as though they have a problem with the server that these files are hosted on. Though, without further information on the exact errors they're getting and the server O/S and network config, it's impossible to say.
And, so far, this has nothing to do with Visual Basic at all.
|
|
|
|
|
Dave Kreskowiak wrote: Your first problem is your using Access.
I'm not using Access. They use it and so I have to. So my problem is that they use Access.
Dave Kreskowiak wrote: And, so far, this has nothing to do with Visual Basic at all.
Well I thought there was the chance to give more time per operation programmatically, as while I'm debugging - no error occurs.
Thank you for your answer,
Ingo
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
ihoecken wrote: I'm not using Access. They use it and so I have to. So my problem is that
they use Access.
Again, without the error messages, it's pretty impossible to tell you what's going on.
But, with all the problems you're having, this is why you don't see very many multi-user Access applications.
|
|
|
|
|
There are no error messages that state the problem. There are different messages "error 3020 on tblXY Update or CancelUpdate without Addnew or edit"
There is always an addnew or edit and there is the error-message but the data is stored properly. The error isn't thrown when I go step-by-step through the code with debugging. The error isn't thrown here at my work in our network.
There are other errors, too. (record is locked by other user, but there was no other user today, when the error was thrown). All errors disappear while debugging and sometime during the normal work, too.
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
I would start by reading up as much as you can after you Google for "Access error 3020". I have no idea if any of the situations or solutions applies to your situation, but it's a start.
|
|
|
|
|
Well, I do. It's just hard to test any possible solution as the errors don't occur in our environment. Thank you for your time.
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
If you have more than one process updating the same record at the same time you will get a record locking issue in Access.
"Access messages that a record is locked by another user although I was the only one today working on the db." - how do you know that no other process was accessing the record(a lock is a lock and the only way this can happen is if another process has the record open)?
There really is no way around this unless you find some way to take a copy of the record for each user but then you may encounter a merge issue when you then go and update the original record overwriting the previous users data.
The first thing to do is to specifically isolate exactly when and why the record locking is occurring and take it from there.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
GuyThiebaut wrote: If you have more than one process updating the same record at the same time you will get a record locking issue in Access.
That's clear
GuyThiebaut wrote: how do you know that no other process was accessing the record
Easy. The other users weren't there today. There was only one user on which pc I worked, there was no ldb-file before I started, the ldb-file was deleted everytime I closed.
GuyThiebaut wrote: There really is no way around this unless you find some way to take a copy of the record for each user but then you may encounter a merge issue when you then go and update the original record overwriting the previous users data.
The different users work on different subjects which have own datarecords. The same records won't be opened by different users at the same time due to the workflow they use.
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
Thanks - I think the only way I would be able to help was if I was sitting next to you when this happens.
What I would say is to keep a note of the the tables this happens on - this will be the clue.
Also check to see if there are any triggers on tables being updated which may be causing an issue to.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
GuyThiebaut wrote: Thanks - I think the only way I would be able to help was if I was sitting next to you when this happens.
Well thank you for your answer.
It's totally strange. I never saw such a problem although in former times I had to build some access solutions.
GuyThiebaut wrote: Also check to see if there are any triggers on tables being updated which may be causing an issue to.
Are triggers available before Access 2010? Well I didn't looked at them cause I thought they weren't , I will do it tomorrow. Thank you.
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
ihoecken wrote: Are triggers available before Access 2010
No, Access (I should say Jet or ACE) doesn't support Triggers.
|
|
|
|
|
|
Thanks for your answer. To my sorrow these settings are all properly done. I checked them already.
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
There is one more source of problems in customer installations: they use some kind of virus scanner. And such a virus scanner might block the access database file for a moment when data are changed (because the file contents are changed). When you debug step by step, the virus scanner can finish its job before the next request is done, but in production code the time span is too small. I'd suggest to remove the database file from the virus scanners's tasks.
|
|
|
|
|
Good idea, thanks. I will talk with them about that.
------------------------------
Author of Primary ROleplaying SysTem
How do I take my coffee? Black as midnight on a moonless night.
War doesn't determine who's right. War determines who's left.
|
|
|
|
|
I'm trying to create custom attachments to emails sent from my gmail account and linked to an access database, the attachment needs to have fields extracted from a record set inserted in bookmarks, and the process should run on the click of a vb button I can send emails with a standard attachment but I can't figure out how to customise the attachments could someone point me in the direction of a soultion
|
|
|
|
|
Member 9865508 wrote: I can send emails with a standard attachment Good. Can you show us that code?
Member 9865508 wrote: but I can't figure out how to customise the attachments That'll depend on their format. A textfile is easily manipulated. Did I understand it correctly that you want to use "emails" as an attachment, and customize those? You can open those (save as *.eml) in notepad, and you can replace tags just as with any text-file.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
what i'm trying to do is send emails from vb that have a custom attachment based on the fields in an access database each email is sent to a different person and the attachment will be different for each person, the code i'm using so far is
Set cdomsg = CreateObject("CDO.message")
With cdomsg.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxx"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxx"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Update
End With
If Not (r.EOF And r.BOF) Then
r.MoveFirst
Do Until r.EOF = True
email = r.Fields("EmailAddress")
name = r.Fields("Firstname")
With cdomsg
.To = email
.FROM = "I@dontThinkThisIsUsed.com"
.Subject = "Test email " + name
.TextBody = "message"
.Addattachment "attachment loaction.docx"
.Send
End With
r.MoveNext
Loop
hope this helps thanks
I can send the emails but not the custom attachments
|
|
|
|
|
Member 9865508 wrote: I can send the emails but not the custom attachments
For that you'll have to modify the documents before sending. Am I looking at VBA or VB6? Either way, both aren't really suited to modify docx-files. I suggest you move to VB.NET, and write a small console-application that can display the contents of a docx-file.
If you can display it, you can change it.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Unfortunatly not really an option and it needs to be automated otherwise it sort of defeats the purpose,I have found code that can create a mail merge and with a few major modifications can save the mail merge as seperate documents which could then be attached to the individual message but it is messy and not really sure if it will even work, just wondering if anyone has actually tried this before.
|
|
|
|
|
Member 9865508 wrote: Unfortunatly not really an option Trying this in VBA or VB6 will be more challenging.
Member 9865508 wrote: just wondering if anyone has actually tried this before.
In a programming language; yes. It'd also be doable from VBA if it were a text-file, but manipulating a .docx-file will be a fair bit harder.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I have date:
Start= 2013-18-03 09:00:00 AM
End = 2013-19-03 03:00:00 PM
What if the day is calculated starting from 12:00:00 PM?
i try this code:
Dim start As DateTime
Dim enday As DateTime
start = "03/18/2013 09:00:00 AM"
enday = "03/19/2013 03:00:00 PM"
Dim span As TimeSpan
span = enday.Subtract(start)
MsgBox(span)
but the result is 1 day, it should be 3 days. Could you give me the suggestion?
modified 18-Mar-13 10:44am.
|
|
|
|
|
Akbarblack wrote: start = "03/18/2013 09:00:00 AM"
enday = "03/19/2013 03:00:00 PM"
I have a question which is - how can the difference between the 19th of March and the 18th of March possibly be three days irrespective of when the day starts?
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
|
Not the most elegant solution I've ever come up with, but off the cuff this should do it...
Dim dt1 As DateTime = "1/1/2013 9:00 AM"
Dim dt2 As DateTime = "1/2/2013 12:00 PM"
Dim days As Integer = 0
days += (dt2 - dt1).Days
If dt1.Hour < 12 Then
days += 1
End If
If dt2.Hour >= 12 Then
days += 1
End If
|
|
|
|