Avatar billede josto Nybegynder
03. marts 2011 - 20:50 Der er 2 kommentarer og
1 løsning

SQL sætning til tjek af periode

Jeg har nu brugt flere timer på følgende problem - har behov for input eller forslag fra andre.

Har en tabel [AfregningType] med følgende felter:
[Id] - siger sig selv
[Medlemsid] - hvilket medlem der afregnes
[Afregningsid] - hvilken afregningstype der skal benyttes
[Fra] - første dato for periode. (Typen datetime)
[Til] - sidste dato for perioden. (Typen datetime)

Et medlem må kun have en afregningstype pr. dag/periode. Når man opretter en ny skal jeg have tjekket om der findes en periode i forvejen. Her ville jeg gerne have en SQL sætning, så jeg kan vise evt. overlap til brugeren.

Nogen der har et forslag - det burde være simpelt, men jeg har mistet overblikket efter mange forsøg.
Avatar billede molehonter Mester
04. marts 2011 - 10:38 #1
Du skal lave en skript der undersøger om brugren og afregnings typen findes.

Hvis sandt, komme med en besked, eller handling.

Hvis falsk, forsætte oprettelsen af brugren i tabellen.

Lidt afhængig af hvordan du vil bygge det, vil jeg foretrække vba, makro kan nok også gøre det.

Jeg bruger meget denne model datavalidering

  Dim dbs As Database, rst As Recordset
  Dim strSQL As String
 
  Set dbs = CurrentDb()
 
  strSQL = SQLskript

  Set rst = dbs.OpenRecordset(strSQL)
  Do While Not rst.EOF
    If rst.BOF And rst.EOF Then
      Hvis forespørelsen er tom, forsæt med oprettetse proceduren
    Else
      hvis der oprettet noget på brugren, giv besked
    End If
    rst.MoveNext
  Loop
  rst.Close
dbs.Close
Avatar billede josto Nybegynder
05. marts 2011 - 15:32 #2
Tak for dit forslag. Koden (C#) har jeg ordnet, men mit problem er selve SQL-sætningen. Skulle nok have været mere specifik, men tænkte det var nok i gruppen "Databaser -> MS SQL".

Altså fx "SELECT * FROM [AfregningType] WHERE ....". Jeg har haft flere forskellige udformninger i spil, men ingen har virket korrekt.

Det må være noget med "WHERE [Medlemsid] = @Medlemsid AND [TIL] <noget> AND [FRA] <NOGET>"
Avatar billede josto Nybegynder
08. marts 2011 - 17:14 #3
Jeg lukker spørgsmålet - problemet findes stadig. Min løsning bliver at lade brugeren tjekke perioderne. Det er ikke optimalt, men den bedste løsning pt.
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
Computerworld tilbyder specialiserede kurser i database-management

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