Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Få ut sista datumeti aktuell månad

Postades av 2005-06-20 16:00:09 - Tyronne Engström, i forum visual basic - allmänt, Tråden har 14 Kommentarer och lästs av 856 personer

Hej!

Finns det något sätt att få jag kan få ut sista datumet i aktuell månad

/Tyronne


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-21 09:06:16 - Janne Hentschel

Det här är en variant jag brukar använda.

?
1
2
3
Dim varDate As Variant
varDate = CDate(Format(Now + 27, "YYYY-MM-") & "01") - 1
MsgBox varDate


Mvh, Janne


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-21 16:08:47 - Sven Åke Persson

Skit snygg, intelligent lösning.Känner igen den men kom inte på hur det var.
GULD åker i godislådan direkt.
Jag tackar även för Tyronne för han verkar inte ha vet att ge någon form av FeedBack
<code>
Option Explicit
'Last Day of Month
'Med tack till Janne Hentschel PelleSoft
Private Sub Command1_Click()
Dim varDate As Variant
varDate = CDate(Format$(Date + 27, "YYYY-MM-") & "01") - 1
MsgBox "Månadens sista dag är " & Right$(CStr(varDate), 2)
End Sub
</code>


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-21 16:41:14 - Göran Andersson

Missade ni Henriks lösning, eller var det att ni inte fattade den?

Henriks lösning är snygg och intelligent, till skilland från Jannes lösning (ja, usäkta mig, men) som är en onödigt omständig soppa av olika datatyper, och som dessutom ger fel värde i vissa fall.


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-21 23:46:01 - Sven Åke Persson

<b>Missade ni Henriks lösning, eller var det att ni inte fattade den? </b>

Nej Vi/Jag missade inte denna lösning som han bokstav för bokstav stulit från VbAccelerator.

Det intelligenta med Jannes lösning är att den funkar när jag klistar in den.Den är Optimal !


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-21 23:52:38 - Sven Åke Persson

<b>och som dessutom ger fel värde i vissa fall.</b>

Ok besserwisser då ser jag/vi fram emot ett exempel där Jannes algoritm går fel !!! ???
Henriks stöldgods är bara djä..." bullshit" som inte impar.
Tycker att Henrik förolämpar oss . Vi kan också läsa innatill på de olika VB siterna !

Kom igen


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-22 00:16:11 - Johan Svensson

SvenPon skrev:

<b>Henriks stöldgods är bara djä..." bullshit" som inte impar.
Tycker att Henrik förolämpar oss . Vi kan också läsa innatill på de olika VB siterna !</b>

Va? Vad är detta för trakasserier? Det handlar väl inte om att försöka överglänsa varandra här? Det handlar väl om att hjälpa? Dessutom ser jag ingen anledning att uppfinna hjulet på nytt när det redan finns en bra och fungerande lösning som man kan vidarebefordra...

Nä SvenPon, slipa lite på din attityd och dessutom så har du en rejäl bit kvar innan du kan impa om det nu är det som är ditt personliga mål i livet.

// Johan


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-22 00:32:35 - Sven Åke Persson

Phuuuuuuuuuuuuuuuuuuuuuu.....................................
Ständigt dessa vesslor !!!


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-22 08:06:27 - Johan Djupmarker

<b>Ok besserwisser då ser jag/vi fram emot ett exempel där Jannes algoritm går fel !!! ???</b>

Om aktuell dag är t.ex. första mars får jag svaret att måndens sista dag är 28. Mig veterligen har mars 31 dagar...

?
1
2
3
4
5
Dim MittDate As Date
MittDate = #3/1/2005#
Dim varDate As Variant
 varDate = CDate(Format$(MittDate + 27, "YYYY-MM-") & "01") - 1
 MsgBox "Månadens sista dag är " & Right$(CStr(varDate), 2)



Kör jag med t.ex. danska som datumformat får jag alltid årtalet, 05 i detta fall (enkelt att åtgärda, men det fungerar inte som det ser ut nu).

Att använda en funktion som bara klarar vissa datumformat måste ses som ren idioti när man känner till andra sätt utan den bristen. Att den dessutom ger fel svar vissa dagar gör ju inte saken bättre. Hantera aldrig datum som strängar, då kan man få denna typ av problem. Henriks lösning hanterar datum som just datum, därför får man inte denna typ av problem.

/Johan


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-23 00:50:44 - Göran Andersson

> Ok besserwisser då ser jag/vi fram emot ett exempel där Jannes algoritm går fel !!! ???

För alla datum där det finns 27 dagar eller mer kvar i månaden så kommer uttrycket Date + 27 att ge ett datum i samma månad istället för nästa månad. Därmed kommer uttrycket att ge sista dagen i förra månaden istället för sista dagen i denna månad.

Exempel:

#2005-03-04# + 27 = #2005-03-31#

Format$(#2005-03-31#, "YYYY-MM-") = "2005-03-"

CDate("2005-03-" & "01") = #2005-03-01#

#2005-03-01# - 1 = #2005-02-28#

CStr(#2005-02-28#) = "2005-02-28" (i gynnsamma fall)

Right("2005-02-28", 2) = "28"

Alltså ger formeln resultatet att mars har 28 dagar.


Kanske Henrik inte har skrivit koden själv, men det har han väl heller aldrig påstått. Janne däremot kanske har skrivit sin kod själv, men det är ju ingen större tröst när den inte fungerar...


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-23 12:00:07 - Sven Åke Persson

Oki på det,det observerade jag inte.Då blir det en lite osnyggare lösning.
<code>
Option Explicit
'Last Day of Month
'Med tack till Janne Hentschel PelleSoft
Private Sub Command1_Click()
Dim varDate As Variant
If Right$(Date, 2) > 4 Then
varDate = CDate(Format$(Date + 27, "YYYY-MM-") & "01") - 1
Else
varDate = CDate(Format$(Date + 31, "YYYY-MM-") & "01") - 1
End If
MsgBox "Månadens sista dag är " & Right$(CStr(varDate), 2)
End Sub
</code>


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-23 12:08:36 - Johan Djupmarker

Fortfarande problem med en hel del datumformat... Såhär kanske kan fungera bättre, men ändå är Henriks lösning kortare, mer lättförstålig och "snyggare".

?
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
'Last Day of Month
'Med tack till Janne Hentschel PelleSoft
Private Sub Command1_Click() ...
Private Sub Command1_Click()
Dim varDate As Variant
 If Right$(Date, 2) > 4 Then
  varDate = CDate(Format$(Date + 27, "YYYY-MM-") & "01") - 1
 Else
  varDate = CDate(Format$(Date + 31, "YYYY-MM-") & "01") - 1
 End If
 MsgBox "Månadens sista dag är " & Format$(varDate, "DD")
End Sub


/Johan


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-23 12:15:39 - Tyronne Engström

SOm info så har jag valt Henriks lösning och den fungerade precis som jag ville.

Tack Henrik!

/Tyronne


Svara

Sv:Få ut sista datumeti aktuell månad

Postades av 2005-06-23 13:53:41 - Sven Åke Persson

Oki på det,får väl ge mig för en gångs skull ;-)

Fö hatar jag det djä... DateSerial

Tycker fortfarande att Janne:s lösning är intelligent och äkta tankearbete !


Svara

Sv: Få ut sista datumeti aktuell månad

Postades av 2005-06-23 16:53:15 - Göran Andersson

Ifall ni vill ha en omständig lösning så kan ni väl göra den utan att blanda datatyper vilt, och utan att använda Variant.

Lägg datumet i en variabel istället för att hämta det ifrån Date gång på gång, annars kommer den ju att ge fel ifall koden körs exakt vid midnatt. Visserligen är det ju inte så stor risk, men det är ju alltid bättre att skriva kod som fungerar alla gånger istället för kod som fungerar nästan alla gånger.

För att den ska fungera med olika datumformat så kan man ju inte använda Right$(Date,2) för att kolla dagen i månaden.

?
1
2
3
4
5
6
7
8
9
10
11
Dim datToday as Date
Dim datLast As Date
 
datToday = Date()
 
If Day(datToday) > 4 Then
    datLast = DateAdd("d", -1, CDate(Format$(DateAdd("d", 27, datToday), "YYYY-MM-") & "01"))
Else
    datLast = DateAdd("d", -1, CDate(Format$(DateAdd("d", 31, datToday, "YYYY-MM-") & "01"))
End If
MsgBox "Månadens sista dag är " & Format$(datLast, "DD")


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 522
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next