Avatar billede newbie.dk Praktikant
25. juni 2004 - 16:13 Der er 9 kommentarer og
1 løsning

Efter ændring af felt-form i db, hvad gør man så?

Jeg er blevet nødt til at ændre felt-betegnelsen i et felt i min database(access). Nu kommer der jo så lidt fejlbeskeder. Jeg har ændret feltet fra text til tal(number, single)

Uden at være sikker, men kan i kigge disse kode-eksempler igennem og fortælle om de kan forblive som de er, eller hjælpe mig med at få dem tilrettet til mit nye tal-felt.


Mea = "Select AVG(dage) as Gen, COUNT(*) AS Ant From ouh Where dage <> ''"
set rs2 = server.createobject("adodb.connection")
rs2.open DSN
set rs2 = rs2.execute(Mea)
'---------------

MaxMin = "Select max(dage) as max, min(dage) as min, sum(dage) as sum from ouh"
set rs3 = server.createobject("adodb.connection")
rs3.open DSN
set rs3 = rs3.execute(MaxMin)
'---------------

Melregn = Round(Melr,1)
'---------------

strSQL = "Update ouh set "
strSQL = strSQL & "antal= "  & Request.Querystring("antal") & " , "
strSQL = strSQL & "dato= Now() "
strSQL = strSQL & " Where nr = " & Request.Querystring("nr")
'---------------

inB = "update ouh set dage = '" & Melregn & "' where nr = " & request.querystring("nr")
Conn.Execute(inB)
Avatar billede newbie.dk Praktikant
25. juni 2004 - 16:14 #1
Jeg går i hvert fald ud fra at det er disse der/kan volder problemer
Avatar billede newbie.dk Praktikant
25. juni 2004 - 16:50 #2
Det er denne der fejler først:

Mea = "Select AVG(dage) as Gen, COUNT(*) AS Ant From ouh Where dage <> ''"
set rs2 = server.createobject("adodb.connection")
rs2.open DSN
set rs2 = rs2.execute(Mea)
Avatar billede websam Nybegynder
25. juni 2004 - 17:32 #3
Hvilket felt er der tale om der er ændret ? Hvis det er feltet dage er det sikkert fordi du bruger Where dage <> '' altså vil dine ' blive opfattet som var det tekst og ikke tal :o)

/Websam
Avatar billede websam Nybegynder
25. juni 2004 - 17:33 #4
Og hvad er det for en fejl meddelse du får ?

/Websam
Avatar billede newbie.dk Praktikant
26. juni 2004 - 02:10 #5
Ja det er feltet dage der er blevet ændret. Jeg får denne fejl.
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.


Hvis det er mine ' der fejler, hvordan løses dette så?
Avatar billede websam Nybegynder
26. juni 2004 - 09:47 #6
Prøv med denne :

Mea = "Select AVG(dage) as Gen, COUNT(*) AS Ant From ouh Where dage <> 0"

/websam
Avatar billede newbie.dk Praktikant
26. juni 2004 - 13:12 #7
Fint, nu får jeg da ikke nogle fejl.
Men så er der opstået et nyt problem.
I denne finder jeg bla. den minste værdi i feltet. Men nu er den minste værdi jo 0 Nul, og der vil mange gange være records der ikke er helt udfyldte.

MaxMin = "Select max(dage) as max, min(dage) as min, sum(dage) as sum from ouh"
set rs3 = server.createobject("adodb.connection")
rs3.open DSN
set rs3 = rs3.execute(MaxMin)

Har du nogle ideer til hvordan det løses?
Avatar billede websam Nybegynder
27. juni 2004 - 00:01 #8
Jeg kan ikke se hvorfor det skulle give et problem sæt en standart værdi til 0 for dit felt dage så vil der som det første aldrig opstå NULL og din mindste værdi vil derfor altid være 0 :o)

Og denne :
MaxMin = "Select max(dage) as max, min(dage) as min, sum(dage) as sum from ouh"

Laver du om til denne :
MaxMin = "Select max(dage) as max, min(dage) as min, sum(dage) as sum from ouh Where dage <> 0"

Så vil din mindste værdi altid være mindst 1

/Websam
Avatar billede newbie.dk Praktikant
28. juni 2004 - 15:51 #9
Mange tak det virker.
Kunne du ligge et svar
Avatar billede websam Nybegynder
28. juni 2004 - 18:26 #10
Det kommer så her :o) Altid at rart at kan hjælpe :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
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