17. marts 2005 - 08:18Der er
20 kommentarer og 1 løsning
Fjernelse af ",00" med forespørgsel
Hej Eksperter. Af forskellige grunde har jeg fået noget data i min db hvor til flere, men ikke alle, variable er tilføjet ledet ",00" således er fx 13 blevet til 13,00. Jeg vil gerne have fjernet de ny cifre, således ønsker jeg en forespørgsel der fjerner de tre sidste anslag på variablerne. Min tanke er at lave en tabeloprettelsesforespørgsel hvor jeg så definerer nye variable som de gamle blot uden ",00" og det er til denne forespørgsel jeg ønsker hjælp. Mere præcist er det udtrykket der skal indtastes i felt, kunne måske være "if...." men det er ligegyldigt hvordan bare det løser mit problem. På forhånd tak.
Hvis det er Tal, så er det bare et spørgsmål om, at feltet er formatteret med 2 decimaler. Dette er altså reelt ikke det, som STÅR i feltet. Ved at ændre formattet og Antal decimaler i egenkaberne, kan du fjerne de 2 nuller.
Hej Thomas Det er tekst, men kan ikke helt få opdateringen til at virke. Jeg tilføjer alle felterne og indtaster så opdateringen...? Felt: civil Tabel: tbdata Opdatering: ?? Eller er jeg helt galt på den?
I så fald skal du selv oprette Replace-funktionen. Det gør du ved at indsætte nedenstående funktion i et modul:
Public Function Replace(Streng As String, Find As String, Erstat As String) As String On Error Resume Next Dim pos As Integer, findpos As Integer Dim tmpStr As String pos = 1 If Len(Streng) = 0 Then Replace = Streng Exit Function End If tmpStr = Streng Do findpos = InStr(pos, tmpStr, Find) If findpos <> 0 Then tmpStr = Left(tmpStr, findpos - 1) & Erstat & Mid(tmpStr, findpos + Len(Find)) pos = pos Else pos = pos + 1 End If Loop Until pos = Len(Streng) If Err Then Replace = Streng Else Replace = tmpStr End If End Function
Prøv alligevel at åbne VBA editoren (Alt+F11) og gå i menuen Tools->references.
Hvis der er står "MISSING.." ud for ét af de afkrydsede elementer, så er det der fejlen er. Så skal du fjerne krydset og evt erstatte med en tilsvarende reference - måske bare en anden version.
Der står ikke missing nogen steder, men jeg ved at der er ændret referencelisten og at følgende er afkrydset: -Visual Basic for appl... -Microsoft Acces 9.0 Object Library -Microsoft DAO 3,6 Object Library -OLE Automation -Microsoft ActiveX Data Objects 2.1 Library Kan det tænkes der skal afkrydses mere?
hmm, så er det mystisk, at den siger, at den ikke kender Replace i forespørgslen.
I forespørgselsdesign, prøv at gå i menuen Vis->SQL visning og kopier hele SQL'en og indsæt den her. Så kan jeg måske se om der skulle være en dum lille fejl.
Du er evt også velkommen til at sende databsen zippet til mig. Så skal jeg hurtigt sende den retur i rettet tilstand.
Har du mulighed for at sende db'en til mig - klik på mit navn her til venstre for at få min email. (jeg vil helst ikke poste den for mange steder for at undgå for meget spam)
heller ikke bare en "tom" database, hvor du har importeret den pågældende tabel?
Hvis det er en opdatering, som kun skal køres denne ene gang, kan du også bare åbne tabellen, stille dig i civil-kolonnen og så vælge menuen Rediger->erstat og skrive: Søg efter: ,00 Erstat med: Søg i: Civil Søg på: En del af feltet
iif(right([streng];3) =",00"; left([streng];len([streng])-3);[streng]) Nå nu lavede jeg følgende mere besværlige iff i en tabeloprettelsesforesp... Men tak for hjælpen anywho - Jeg vil gerne give dig de 200 point hvis du vil have dem?
takker, men "dele" betyder, at du også skulle have nogle ;o)
Synes godt om
Ny brugerNybegynder
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.