28. marts 2006 - 21:24
Der er
10 kommentarer og 1 løsning
udtræk af dato i M D og Y samt T
Hej hvis jeg har et udtræk 08-04-06 11:30 og jeg så siger: TheDate = "08-04-06 11:30 strDate = Replace(TheDate, " ", " ") Hvordan kan jeg så lave mit udtræk med 2 cifre i hver så TheDay = 08 TheMonth = 04 TheYear = 06 TheTime = 11:30 hvordan kan jeg tage disse udtræk ud af "strDate" !?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
28. marts 2006 - 21:36
#1
Hvis der altid er to ciffer kan bruge streng funktioner: TheDate = "08-04-06 11:30 strDate = Replace(TheDate, " ", " ") TheDay = left(strDate, 2) TheMonth = mid(strDate, 4, 2) TheYear = mid(strDate, 7, 2) TheTime = mid(strDate, 10) Et alternativ som bruger split et array: TheDate = "08-04-06 11:30 strDate = Replace(TheDate, " ", " ") arr = split(strDate, " ") TheTime = arr(1) arr = split(arr(0), "-") TheDay = arr(0) TheMonth = arr(1) TheYear = arr(2)
28. marts 2006 - 23:31
#2
mange tak og lige en hurtig en. Hvis jeg har: TheDay = left(strDate, 2) TheMonth = mid(strDate, 4, 2) TheYear = mid(strDate, 7, 2) TheTime = mid(strDate, 10) som er TheDay = 08 TheMonth = 04 TheYear = 06 TheTime = 11:30 hvordan kan jeg lave en if sætning som kan samligne dem med day(now) osv !? hvis det er den 2/4-2006 11:00 så vil mine tal jo være TheDay = 02 TheMonth = 04 TheYear = 06 TheTime = 11:00 men det er jo ikke det samme som day(now), month(now) og year(now) da det vil være: day(now) = 2 month(now) = 4 year(now) = 2006 jeg vil gerne kunne sig at: If TheDay >= day(now) Then bla. bla. men det kan jeg ikke da 02 ikke er det samme som 2, lave day(now) osv. om så jeg kan samligne dem med mine ting !?
28. marts 2006 - 23:35
#3
Så kan du sætte int omkting variablen i if sætningen så fjerner den "0" foran og laver typen om til tal: If int(TheDay) >= day(now) Then
29. marts 2006 - 00:13
#4
hmm ok hvad så hvis jeg vil lave en SQL linje ?? kan man sige: Select [Match_Year]"&"[Match_Month]"&"[Match_Day] AS Match så MATCH_YEAR = 06 MATCH_MONTH = 04 MATCH_DAY = 03 bliver AS = Match MATCH = 060403 !?
29. marts 2006 - 00:17
#5
Er Match_Year og de andre kolonner i databasen så skal det skrives ude " bare med & Select [Match_Year]&[Match_Month]&[Match_Day] AS Match Er Match_Year og de andre variable i ASP koden skal det se sådan her ud: Select '" & Match_Year & Match_Month & Match_Day & "' AS Match
29. marts 2006 - 00:29
#6
hmm jeg kan ikke køre execute i denne kode hvad er fejlen i den !? strSQL = "SELECT TOP 5 [Team_Name], [Match_Day], [Match_Month], [Match_Year], [Match_Time], [Home_Team], [Away_Team], [Total_Score], [Match_Year]&[Match_Month]&[Match_Day] AS Match FROM Program" strSQL = strSQL & " WHERE Match >= 060403" strSQL = strSQL & " ORDER BY [Match_Day] ASC;" Set objRS = objConn.Execute(strSQL)
29. marts 2006 - 08:20
#7
Det kommer an på hvilken database du bruger. Hvis du bruger Access (og det liger access) virker det ikke fordi man ikke kan skrive et alias navn i order by eller group by delen. Så man skal skive det igen: ORDER BY [Match_Year]&[Match_Month]&[Match_Day] ASC
29. marts 2006 - 08:23
#8
og det samme gælder i WHERE delen :)
29. marts 2006 - 08:58
#9
okay tror næsten jeg har fået det til at køre og ja det er access, men hvis min kode er dette og jeg får en fejl hvad er problemet evt. KODE: strYear = DatePart("yyyy", Date()) strYear = Replace(strYear, "20", "") strMonth = Right("0" & DatePart("m", Date()), 2) strDay = Right("0" & DatePart("d", Date()), 2) Match_Date = strYear&strMonth&strDay Dim cnstDBPath cnstDBPath = ("db.mdb") Dim strProvider Set objConn = Server.CreateObject("ADODB.Connection") strProvider = "" & "Provider=Microsoft.Jet.OLEDB.4.0;" strProvider = strProvider & "Data Source=" & cnstDBPath & ";" strProvider = strProvider & "Persist Security Info=False" objConn.Connectionstring = strProvider set fso = Server.CreateObject("Scripting.FileSystemObject") objConn.Open strSQL = "SELECT TOP 5 [Team_Name], [Match_Day], [Match_Month], [Match_Year], [Match_Time], [Home_Team], [Away_Team], [Total_Score] FROM Program" strSQL = strSQL & " WHERE [Match_Year]&[Match_Month]&[Match_Day] >= Match_Date" strSQL = strSQL & " ORDER BY [Match_Year]&[Match_Month]&[Match_Day] ASC;" Set objRS = objConn.Execute(strSQL) FEJL: Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /team&results/top_program.asp, line 108 LINJE 108 Set objRS = objConn.Execute(strSQL)
29. marts 2006 - 09:08
#10
Fejlen betyder der mangler en værdi til en kolonne, eller omvendt. Typsik fordi en variablen er tom..Så vidt jeg kan er Match_Date en variable i ASP koden og ikke en kolonne i SQL sætnningen: strSQL = strSQL & " WHERE [Match_Year]&[Match_Month]&[Match_Day] >= Match_Date" Så hvis det er rigtigt så prøv sådan her: strSQL = strSQL & " WHERE [Match_Year]&[Match_Month]&[Match_Day] >= '" & Match_Date & "'"
29. marts 2006 - 23:00
#11
mange tak nu virker det.
Kurser inden for grundlæggende programmering