Avatar billede daniel_d Nybegynder
16. september 2007 - 13:27 Der er 31 kommentarer og
1 løsning

Opret aftale i Outlook - Type mismatch på dato

Jeg kan ikke fatte hvorfor mit datoformat ikke accepteres.
Når jeg tjekket debuggeren kan jeg f.eks. se at min
.start = 16-09-2007 13:00:00

    Dim outobj As Outlook.Application
    Dim outappt As Outlook.AppointmentItem
    Set outobj = CreateObject("outlook.application")
    Set outappt = outobj.CreateItem(olAppointmentItem)
           
        With outappt
        .Start = Format(Me![ReminderDato], "dd/mm/yyyy") & " " & Now()
        .Duration = 30
        .Subject = "Tjek paniklys"
        .Body = "Hele huset"
        .ReminderMinutesBeforeStart = 15
        .ReminderSet = True
        .Save
              End With
          ' Release the Outlook object variable.
       
          Set outobj = Nothing
Avatar billede mugs Novice
16. september 2007 - 13:32 #1
Udtrykket Now() indeholder jo både dato, måned, år, time, minut og sekunder. Så du gentager jo datoen. Prøv f.eks med nedenstående (ikke afprøvet):

.Start = Format(Me![ReminderDato], "dd/mm/yyyy//hh/nn/ss")
Avatar billede daniel_d Nybegynder
16. september 2007 - 13:40 #2
Det ændrer ikke på det output debuggeren giver. Datoformatet vil tilsyneladende ikke ændres korrekt. Får stadig f.eks. 16-09-2007 13:00:00
Avatar billede -anders- Juniormester
16. september 2007 - 13:45 #3
Hej daniel, mugs er inde på det rigtige now indeholder jo hele baduljen, Nedestående giver dig datoen, og efterfølgende tidspunkt lige nu

.Start = Format(Me![Reminderdato], "dd/mm/yyyy") & " " & Time
Avatar billede daniel_d Nybegynder
16. september 2007 - 13:49 #4
Fantastisk Anders... Nu kører det.
Takker :)

Smid et svar
Avatar billede mugs Novice
16. september 2007 - 13:50 #5
Eller hvad med blot:

.Start = Now()
Avatar billede -anders- Juniormester
16. september 2007 - 13:53 #6
Selv tak, og hermed et svar, hvordan sikre du at der er den nødvendige reff. til Outlook objeket i din vba editor, dette kan automatiseret når DB starter op. Sig til hvis du vil ha' et eks. :o)
Avatar billede daniel_d Nybegynder
16. september 2007 - 14:17 #7
Jeg har kun oprettet referencen til outlook, jeg har ikke sikret den på nogen måde. Hvordan kan man det?

Du har vel ikke også et hurtigt svar på hvorfor min Me!Id fejler. Det er noget med at den ikke pakker "" omkring mit Id ligesom Me!Fornavn f.eks. gør det.

.Subject = "Sag: " + Me![Id] + Me![Fornavn] + Me![Efternavn]

Til mugs-> Jeg kan ikke bruge Now() alene idet påmindelsen jo kan være til om 14 dage. Så skal jeg ud i noget datediff og bruge now() + dage, men det virker jo nu :)
Avatar billede daniel_d Nybegynder
16. september 2007 - 14:26 #8
Det sidste spørgsmål fandt jeg selv ud af. Skulle bare konvertere til string med Str(Me![Id])
Avatar billede mugs Novice
16. september 2007 - 14:28 #9
Helt OK
Avatar billede -anders- Juniormester
16. september 2007 - 14:35 #10
ok :o)

Så længe du afvikler din DB på den samme maskine er det jo ikke noget problem med reff. Men skal du afvilke DB på andre maskiner feks. også af andre brugere på andre maskiner følger reff. ikke med, men skal sættes manuelt. Dette kan jo give fejl, men som sagt kan det gøres automatisk.

Man anvender noget kode i et modul, samt en autoexecmakro (som access altid kikker efter når DB åbner).

1. Opret et modul, og skriv nedenståendekode:

Function StartUP()
'Kode start'
On Error Resume Next
References.AddFromFile "Sti til reff. fil" 'du kan se henvisningen til filen i VBA editoren'
On Error GoTo 0
End Function
'Kode slut'

2. Opret en markro. og navngiv den Autoexec

3. I design på din makro vælger du handling "Afspil kode"

4. Nederst skiver du så navnet på funktionen i modulet på flg. måde:

=StartUP()

Nu tilføjes den reff. i din vba editor automatisk som svare til henvisningen/filnavnet.

og mange tak for points :o)

Hilsen Anders
Avatar billede -anders- Juniormester
16. september 2007 - 14:47 #11
Bare det virker :o), men du kunne også prøve nednestående:

.Subject = "Sag:" & " " & Me!ID & " " & Me!Fornavn & " " & Me!Efternavn
Avatar billede daniel_d Nybegynder
16. september 2007 - 14:48 #12
Men kan den makro ikke stadig fejle. Hos mig er stien til min outlook reference f.eks. c:\Program Files\Microsoft Office\Office12\MSOUTL.OLB
Men den kunne vel lige så vel være
c:\Programmer\Microsoft Office\Office12\MSOUTL.OLB
Og hvad hvis folk ikke har nyeste version, hvilket egentligt ikke har indflydelse på kørslen af min formular, så dur stien heller ikke...

Er den så værd at have med, dette tjek?
Avatar billede -anders- Juniormester
16. september 2007 - 14:51 #13
hmm, måske ikke, det kan du have ret i, men man kan også lave en kopi af den relevante fil, og lægge den i samme mappe som DB, og så reff. til denne sti i stedet, jeg anvender feks. MCCOMCTL.OCX på denne måde, og det virker fint, men helt rigtigt, det kan selvfølgelig give problemer hvis reff. til filen skifter alt efter officeversion
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:02 #14
God ide... lægger en kopi af filen i mappen med databasen.
Tak for hjælpen
Avatar billede -anders- Juniormester
16. september 2007 - 15:13 #15
Selv tak, og forsat god arbejdslyst med projektet
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:17 #16
Jeg har lidt problemer med opstart af makroen... den vil ikke starte. Hvilket navn skal jeg give makroen?

Jeg har tilføjet en makro, valgt afspil kode og i argumenter skrevet =StartUP()
Jeg har oprettet et modul med koden:

Function StartUP()
    On Error Resume Next
    References.AddFromFile CurrentProject.Path & "\MSOUTL.OLB" 'Henvisning til Outlook'
    References.AddFromFile CurrentProject.Path & "\MSCAL.OCX" 'Henvisning til Outlook'
    References.AddFromFile CurrentProject.Path & "\MSWORD.OLB" 'Henvisning til Word'
    On Error GoTo 0
End Function

Og navngivet modulet Autoexec, men har også prøvet med StartUP uden held... Kan du se fejlen?
Avatar billede mugs Novice
16. september 2007 - 15:19 #17
det er makroen der skal hedde autoexec ikke modulet
Avatar billede -anders- Juniormester
16. september 2007 - 15:20 #18
Hej igen

Du skal ikke navngive modulet Autoexec, men selve makroen skal navngives Autoexec, det ligemenet hvad selve modulet hedder i denne sammnhæng :o)
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:20 #19
Jeg får fejlen:
Macronavn: Autoexec
betingelse: Sand
handlingsnavn: afspilkode
argumenter:StartUP() 
Har også prøvet med =StartUP()

Fejlkode: 2950
Avatar billede mugs Novice
16. september 2007 - 15:21 #20
Men jeg mener der er noget her du skal se på:

On Error Resume Next
References.AddFromFile CurrentProject.Path & "\MSOUTL.OLB" 'Henvisning til Outlook'
References.AddFromFile CurrentProject.Path & "\MSCAL.OCX" 'Henvisning til Outlook'
References.AddFromFile CurrentProject.Path & "\MSWORD.OLB" 'Henvisning til Word'
On Error GoTo 0

Først vil du have at db  ved fejl (On error) skal resume next hvilket jo betyder, at den blot skal fortsætte på næste kodelinie. sidst i koden skal den gå til 0. Det er selvmodsigende.
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:21 #21
har ændret navnet på modulet til CheckReferences uden held
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:22 #22
mugs-> det kan du have ret i... det lyder lidt selvmodsigende :)
Avatar billede -anders- Juniormester
16. september 2007 - 15:22 #23
Har du også oprette en makro med navnet Autoexec ?
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:24 #24
Anders: Ja det har jeg, Det er i denne makro at jeg har valgt afspilkode med argumentet =StartUP()
Avatar billede -anders- Juniormester
16. september 2007 - 15:25 #25
hmm, mystisk, jeg har lige testet det af her. på nøjagtig samme, og det virker fint?
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:26 #26
Fandt lige denne: http://support.microsoft.com/kb/931407
Åbenbart er min db ikke "trusted" :)
Avatar billede -anders- Juniormester
16. september 2007 - 15:30 #27
Aha, ja Access 2007 er blevet endnu mere sikker, sorry jeg burde have forspurgt på din version af Access før jeg begyndte på alle de smarte ting
Avatar billede mugs Novice
16. september 2007 - 15:31 #28
Hvilket får mig til igen at påpege vigtigheden af, at fortælle os hvilken version der benyttes. Der er jo en grund til, at vi efterhånden har flere versioner af office-pakken, og der er forskel mellem dem. Jeg sidder med version 2000, og der er forskel til 2007 ;o)
Avatar billede -anders- Juniormester
16. september 2007 - 15:33 #29
>>mugs helt ening, jeg sidder med 2003, men har prøvet at arbejde på 2007 versionen, men syntes netop at det lidt vanskeligt med alle disse sikkerhedsting, så jeg er tilbage på 2003 :o)
Avatar billede daniel_d Nybegynder
16. september 2007 - 15:38 #30
Men så blev jeg jo så meget klogere... har fået det til at spille nu.

Jeg takker igen for jeres hjælp.
Avatar billede -anders- Juniormester
16. september 2007 - 15:40 #31
Selv tak, ja MS(dollar), laver mange "smarte ting" :o)
Avatar billede mugs Novice
16. september 2007 - 15:40 #32
Det var så lidt :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester