Avatar billede maattedyret Nybegynder
01. april 2004 - 22:00 Der er 16 kommentarer og
1 løsning

Desperat hjælp til spørgsmål 3

Hej prøver lige igen
Jeg skal bruge en kode der kan finde en værdi i en database vha vba. Derefter skal den indsætte et regnr svarende til den sidste værdi + 1 i den pågældende kategori. Spørgsmålet er en del af et opgavesæt fra syddansk universitet. Det drejer sig om spørgsmål 3: http://www.sam.sdu.dk/undervis/85435.F04/obli1_2004/Obligatorisk_opgave_2004.pdf
Avatar billede Slettet bruger
01. april 2004 - 22:12 #1
Du kan bruge select max(regnr) from tabel for at få den største værdi ud, derefter kan du lægge 1 til den og skrive det ned i databasen igen.
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:16 #2
Jeg er ikke helt med. Har efterhånde siddet mange timer foran pc'en så jeg tænker ikke så klart mere.
Gider du evt uddybe det lidt f.eks. med en konkret kode??
Avatar billede Slettet bruger
01. april 2004 - 22:21 #3
Du må have noget kode i forvejen ikk?
Så skal du lave en select ned i databasen, dertil kan du bruge
SELECT max(regnr) from tabel
Den får du så tilbage igen og lægger i en variabel, så laver du en
INSERT INTO tabel (regnr,felt2, felt3 o.s.v.) VALUES (NytRegnr, værdi2, værdi3 o.s.v.) så har du din nye post i databasen.
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:21 #4
Forresten der er flere forskellige under kategorier så hvis den nye indtastning til f.eks. den første underkategori skal den tage dette regnr + 1 og hvis den tilhører en anden skal den tage en anden regnr +1 osv hvis du forstår??
Avatar billede martin_moth Mester
01. april 2004 - 22:22 #5
bertie: Det er ikke en database selvom maattedyret skriver det er - det er bare et regneark
Avatar billede martin_moth Mester
01. april 2004 - 22:24 #6
maattedyret: Jeg HAR vist hvordan du kan søge i rækker i et regneark via excel!
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:24 #7
Ja det er korrekt. Er der en af Jer der kan hjælpe. Martin du kender jo efterhånden opgaven så godt :-)
Avatar billede Slettet bruger
01. april 2004 - 22:24 #8
Ahh, ja så er jeg stået af, beklager.
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:30 #9
Martin: Har som skrevet siddet mange timer med denne opgave der ligger langt over mit niveau :-( så gider du ikke lige smide et link til hvor du har vist det, så er der point selvfølgelig.
Avatar billede Slettet bruger
01. april 2004 - 22:35 #10
Den kan du få helt gratis kig lidt i http://www.eksperten.dk/spm/483751
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:40 #11
Det er vist ikke helt det samme spørgsmål vi er i. Jeg skal bruge noget til opgave 3. Dette er til spørgsmål 4
Avatar billede Slettet bruger
01. april 2004 - 22:43 #12
Øhh, martin skriver følgende som er en søgning i arket og det er vel det du skal.

Sub MinMacro()
    Dim i As Long
    Dim strSøgeord As String
   
    Sheets("Sheet1").Select  '<- Skift arknavnet ud med det der passer
    strSøgeord = InputBox("Hvad vil du søge efter", "Indtast søgeord")
    strSøgeod = LCase(strSøgeord)
   
    For i = 1 To 61000
      If LTrim(LCase(ActiveSheet.Cells(i, 7).Value)) = LTrim(LCase(strSøgeord)) Then
        MsgBox "Søgeord fundet i række " & i
        '<--Gem række nr 'i' der hvor den skal gemmes, f.eks. i et andet ark -->
      End If
    Next i
   
    MsgBox "Søgning slut"
End Sub
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:50 #13
Ja kan godt se at det omhandler det samme. Lukker bare spørgsmålet nu er for træt til at kunne tænke klart. Hvis I vil have nogle smid lige et svar og angiv hvor mange point i vil have hver især.
Avatar billede Slettet bruger
01. april 2004 - 22:55 #14
Jeg skal ikke have nogen :-)
Avatar billede maattedyret Nybegynder
01. april 2004 - 22:55 #15
Ok lukker bare så tak for hjælpen
Avatar billede martin_moth Mester
03. april 2004 - 11:38 #16
Og hvis du vil gøre koden mere effektiv, tjekker du først hvor mange rækker det er nødvendigt at undersøge. Det er jo spild af ressourcer at søge 61000 rækker igennem...

Det har jeg også vist i spørgsmålet, du har fået et link til
Avatar billede martin_moth Mester
03. april 2004 - 11:40 #17
Og som jeg da godt kan gengive her:

Sub MinMacro()
    Dim i As Long
    Dim strSøgeord As String
    Dim ws As Worksheet
    Dim lLastRow As Long
   
'Finder sidste række
    Set ws = Sheets("Sheet1") '<-- Ret arknavnet
    lLastRow = ws.Range("G" & Rows.Count).End(xlUp).Row   
    Sheets("Sheet1").Select  '<- Skift arknavnet ud med det der passer

'Henter søgeord
    strSøgeord = InputBox("Hvad vil du søge efter", "Indtast søgeord")
    strSøgeod = LCase(strSøgeord)
   
'Søger efter søgeord indtil sidste række nås
    For i = 1 To lLastrow
      If LTrim(LCase(ActiveSheet.Cells(i, 7).Value)) = LTrim(LCase(strSøgeord)) Then
        MsgBox "Søgeord fundet i række " & i
        '<-Gem række nr 'i' der hvor den skal gemmes, f.eks. i et andet ark ->
      End If
    Next i
   
    MsgBox "Søgning slut"
End Sub
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