08. november 2001 - 19:04Der er
26 kommentarer og 3 løsninger
Dato plus et tal/Datoformat
Jeg har en accesstabel hvor jeg i et felt har en række datoer stående. I et andet felt har jeg et antal måneder stående.
Formatet for feltet der hedder \"LejerOptionDeadline\" er altså \"dd-mm-yyyy\"
Formatet for det andet felt (LejerAnsvarligBeskedFoerDeadline) er bare et tal \"xx\"
Jeg skal på en eller anden måde have trukket det antal mdr. der står i \"LejerAnsvarligBeskedFoerDeadline\" fra den dato der står i \"LejerOptionDeadline\".
Eks.
Der står 08-01-2002 i \"LejerOptionDeadline\" og der står 2 i \"LejerAnsvarligBeskedFoerDeadline\". I dette tilfælde skal der altså returneres: 08-11-2001.
Den der løser denne er min helt! (og 266 point rigere...)
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
You can also make a query in Access and use this instead of the table
SELECT TheTable.LejerOptionDeadline, TheTable.LejerAnsvarligBeskedFoerDeadline, DateAdd(\"m\",-CInt([LejerAnsvarligBeskedFoerDeadline]),[LejerOptionDeadline]) AS NewDate FROM TheTable;
How are you viewing the data in a grid or a form where you see one record at a time?
If you have single record on a form then you will have the two fields LejerOptionDeadline and LejerAnsvarligBeskedFoerDeadline already on the form you can add another field an name it for example newDate
Then you would put this in the fields controlSource
Telep, jeg kan se hvad det er du vil, men løsningen er afhængig på hvordan du vi brug resultatet på beregningen.
Hvis du har en form der viser alle records i en liste, så kan du laver en query (forespørgsel)som beskrevet, i Access, og brug det i stedet for tabellen. Hvis du kan kom med en bedre forklaring, så er det nemmere at kom med en løsning!
Jeg har en accesstabel med en masse felter i. Hvis feltet \"LejerAutomatiskForlaengelse\" <> 0 så skal der hvis feltet \"LejerAutomatiskDeadline\" (er en dato af formatet dd-mm-yyyy) minus feltet \"LejerAnsvarligBeskedFoerDeadline\" der er x antal måneder < dags dato, sendes en mail.
Selve maildelen er der helt styr på jeg mangler kun at få skrevet denne beregning og if funktionen.
Dim adoConn As New adoDB.Connection Dim adoRST As New adoDB.Recordset Dim dDeadline As Date Dim lAntalDage As Long
adoConn.Open \"Dsn til din accessdatabase\"
Set adoRST=adoConn.Execute(\"Select * From DinAccessTabel Where LejerAutomatiskForlaengelse <> 0\")
While Not (adoRST.BOF or adoRST.EOF)
dDeadline=adoRST.Fields(\"LejerAutomatiskDeadline\").Value lAntalDage=adoRST.Fields(\"LejerAnsvarligBeskedFoerDeadline\").Value if DateAdd(\"m\", -lAntalMdr, dDeadline)<Now() Then \'Deadline er overskredet \'Send Mail End If
Dim adoConn As New adoDB.Connection Dim adoRST As New adoDB.Recordset Dim dDeadline As Date Dim lAntalMdr As Long
adoConn.Open \"Dsn til din accessdatabase\"
Set adoRST=adoConn.Execute(\"Select * From DinAccessTabel Where LejerAutomatiskForlaengelse <> 0\")
While Not (adoRST.BOF or adoRST.EOF)
dDeadline=adoRST.Fields(\"LejerAutomatiskDeadline\").Value lAntalMdr=adoRST.Fields(\"LejerAnsvarligBeskedFoerDeadline\").Value if DateAdd(\"m\", -lAntalMdr, dDeadline)<Now() Then \'Deadline er overskredet \'Send Mail End If
Hvis Me!LejerAnsvarligBeskedFoerDeadline er 0 so vil den ikke ændre datoen Me!LejerOptionDeadline . (1+0 er 1)!!!!!! Hvis Me!LejerAnsvarligBeskedFoerDeadline er 2 så adder den 2 måneder til datoen Me!LejerOptionDeadline.
Set datDB = DBEngine.Workspaces(0).OpenDatabase(\"F:\\VB\\Troels\\Ejendomsinvest\\MailForlængelse\\troels.mdb\") sSQL = \"SELECT * from tblLejer WHERE LejerAutomatiskForlaengelse <>0\" Set recLejer = datDB.OpenRecordset(sSQL)
\' If AutoDead - BeskedTid = Date Then objSMTP.Action = a_ResetHeaders objSMTP.OtherHeaders = \"Content-type: text\" & vbCrLf objSMTP.From = \"tm@oyan.dk\" objSMTP.To = Initialer & \"@tm-support.dk\" objSMTP.Date = Date & Now objSMTP.Subject = Test1 objSMTP.MessageText = \"Du har en opgave vedrørende en prioritet\" objSMTP.Action = 3 \'If not connected then connect. Then send mail. \' End If
Jeg kan ikke se hvordan du bruger de felter i din VB applikation, derfor kan jeg kun fortælle dig hvordan man laver beregning en. Hvor du skal brug denne beregning har jeg ikke fattet endnu. (Du har ikke fortalte os)!
\' If \"DEN VÆRDI JEG FÅR VED BEREGN.\" = Date Then objSMTP.Action = a_ResetHeaders objSMTP.OtherHeaders = \"Content-type: text\" & vbCrLf objSMTP.From = \"tm@oyan.dk\" objSMTP.To = Initialer & \"@tm-support.dk\" objSMTP.Date = Date & Now objSMTP.Subject = Test1 objSMTP.MessageText = \"Du har en opgave vedrørende en prioritet\" objSMTP.Action = 3 \'If not connected then connect. Then send mail. \' End If
Set datDB = DBEngine.Workspaces(0).OpenDatabase(\"F:\\VB\\Troels\\Ejendomsinvest\\MailForlængelse\\troels.mdb\") sSQL = \"SELECT * from tblLejer WHERE LejerAutomatiskForlaengelse <>0\" Set recLejer = datDB.OpenRecordset(sSQL)
Do While Not recLejer.EOF
Initialer = recLejer(\"LejerAnsvarligForForLaengelse\") AutoDead = recLejer(\"LejerAutomatiskDeadline\") BeskedTid = recLejer(\"LejerAnsvarligBeskedFoerDeadline\") If DateAdd(\"m\", -BeskedTid, AutoDead)<Now() Then objSMTP.Action = a_ResetHeaders objSMTP.OtherHeaders = \"Content-type: text\" & vbCrLf objSMTP.From = \"tm@oyan.dk\" objSMTP.To = Initialer & \"@tm-support.dk\" objSMTP.Date = Date & Now objSMTP.Subject = Test1 objSMTP.MessageText = \"Du har en opgave vedrørende en prioritet\" objSMTP.Action = 3 \'If not connected then connect. Then send mail. End If
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.