Avatar billede sliv Nybegynder
01. marts 2005 - 14:31 Der er 12 kommentarer og
1 løsning

Tjekke gyldighed ud fra angivet dato og now

Jeg har et program, som skal "overvåge" et medlem's kontingent's gyldighed.
Når kontingentet oprettes, indlæses en dato samt kontingent-type ind i en database, som derefter skal behandles hver gang en kunde foretager et nyt besøg.

databasen er lavet i access 2k og arbejder i vb 6.0

Nogen kreative forslag til, hvordan jeg løser dette?

Mvh
Avatar billede sjh Nybegynder
01. marts 2005 - 15:10 #1
Tjekke gyldighed ud fra angivet dato og now..

det kan næsten kun være IsDate()

Private Sub Form_Load()
  If IsDate("01-03-2005") Then
    MsgBox "Det er en dato"
      Else
    MsgBox "Det er ikke en dato"
  End If
End Sub
Avatar billede sliv Nybegynder
01. marts 2005 - 15:21 #2
Hmm udtrykte vist ikke klart mit problem.

Hver kunde skal have et kontingent, som eks.vis. løber over 31 dage fra den dag det er oprette.
Hvergang kunden tjekker ind i systemet, skal dette tjekke om de 31 dage er overskredet eller at kontingentet stadig er gyldigt.
Altså tjekke om den dato, der er skrevet ind i db'en + kontingenttypen er gyldigt i forhold til den aktuelle dato.

mvh
Avatar billede sjh Nybegynder
01. marts 2005 - 15:25 #3
Private Sub Form_Load()
  ' 2 dage fra idag
  Me.Caption = DateDiff("d", "27-02-2005", Now)
End Sub
Avatar billede sjh Nybegynder
01. marts 2005 - 15:30 #4
så skulle det passe med en månede

Option Explicit

Private Sub Form_Load()
Dim strDato As String
  strDato = "02-01-2005"

  If DateDiff("d", Now, strDato) > 0 Then
    MsgBox "Dato er god kendt"
      Else
    MsgBox "Dato er ikke god kendt"
  End If
End Sub
Avatar billede sjh Nybegynder
01. marts 2005 - 15:32 #5
hvis du tager den fx. fra idag så skal der stå: 01-04-2005
Avatar billede sjh Nybegynder
01. marts 2005 - 15:34 #6
det kan godt være at du skal have " = " på.. det kommer and på om man skal kunne "log ind" sidste dage..

If DateDiff("d", Now, strDato) >= 0 Then
Avatar billede sliv Nybegynder
01. marts 2005 - 16:07 #7
Jeg sætter mig li og roder med det :)
Avatar billede sliv Nybegynder
02. marts 2005 - 14:50 #8
Er strDato så den dato, hvor kontingentet er oprette?
for så ka jeg ik li gennemskue hvordan den tjekker en måned frem fra den dato?
Avatar billede sjh Nybegynder
02. marts 2005 - 15:03 #9
du skal sette strDato (datoen en månde frem) når Now() så er = med strDato så er det ved at være slut.. hvis nu det er en bruger som har betalt for 2 månder så skal strDato settes to månder frem..
Avatar billede sjh Nybegynder
02. marts 2005 - 15:16 #10
hvis du køre den her i dag, så har du 30 dage at gøre godt med, og imorgen har du 29 dage at gøre godt med. sov...


Private Sub Form_Load()
Dim intDay As Integer
Dim strDato As String

  strDato = "01-04-2005"
  intDay = DateDiff("d", Now, strDato)

  If intDay > 0 Then
    MsgBox "Dit kontingentet udløber om " & intDay & " dage."
  ElseIf intDay = 0 Then
    MsgBox "Dit kontingentet udløber i dage."
      Else
    MsgBox "Dit kontingentet er udløbet."
  End If
End Sub
Avatar billede sjh Nybegynder
02. marts 2005 - 15:21 #11
Du skal bare lige være opmærksom på hvis ur/dato ikke går korekt på den computer du køre programmet, så vil du jo få udløbs fejl. (all kan jo stille deres ur/dato som de vil) ;)
Avatar billede sliv Nybegynder
08. marts 2005 - 19:07 #12
Ja, sørger jeg lige for
Avatar billede sjh Nybegynder
08. marts 2005 - 19:28 #13
skal jeg lige smide et svar..
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
Kurser inden for grundlæggende programmering

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