Avatar billede juggalo Nybegynder
28. januar 2002 - 15:37 Der er 6 kommentarer og
1 løsning

Dynamisk datareport

Jeg prøver (forgæves) på at lave en "dynamisk" datareport, så jeg kan skifte min SQL-sætning ud og på den måde slippe for at oprette flere rapporter.

Jeg har 2 SQL-sætninger;
"SELECT nummer,navn,klub,tid FROM deltagere WHERE rute=1 ORDER BY tid"

"SELECT nummer,navn,klub,tid FROM deltagere WHERE rute=2 ORDER BY tid"

Jeg ville jo frygteligt gerne kunne slippe for at lave mere end 1 rapport...

Jeg har prøvet med følgende kode:

Private Sub Command1_Click()
aabncon  ' min databasen connection
Set rs = connect.Execute("SELECT nummer,navn,klub,tid FROM deltagere WHERE rute=1 ORDER BY tid")
        With udskrift  ' hedder min datareport
            Set .DataSource = DataEnvironment1
                .DataMember = ""
            With .Sections("Section1").Controls
                    For i = 1 To .Count
                        If TypeOf .Item(i) Is RptTextBox Then
                            .Item(i).DataMember = ""
                            .Item(i).DataField = rsdyn.Fields(i - 1).Value
                        End If
                    Next i
                End With
              .Show
      End With
End Sub

Koden har jeg fundet på 'nettet - men den giver en "failed getting recordset(s) from current data source"

Nogen som kan hjælpe?
Avatar billede jennemaan Nybegynder
28. januar 2002 - 15:43 #1
Du kan jo uden videre opbygge dine sqlstatements dynamiskt;

Dim iRute As Integer

iRute=1

strSQL="SELECT nummer,navn,klub,tid FROM deltagere WHERE rute=" & iRute & " ORDER BY tid"

Set rs=adoConn.Execute(strSQL)

/Jennemaan
Avatar billede nrok Nybegynder
28. januar 2002 - 15:44 #2
???????
Avatar billede juggalo Nybegynder
28. januar 2002 - 15:44 #3
Det er jeg nok klar over.. spørgsmålet går jo heller ikke på en dynamisk opbygning af SQL-sætninger, men derimod på datareports
Avatar billede jennemaan Nybegynder
28. januar 2002 - 15:45 #4
Ups... Du kunne jo så evt. skrive

Set Udskrift.Datasource=rs

/Jennemaan
Avatar billede dimle Nybegynder
28. januar 2002 - 15:46 #5
Hvornår er det du får den fejl?? er det allerede når du executer SQL-sætningen??
Avatar billede juggalo Nybegynder
28. januar 2002 - 15:56 #6
okay, så langt så godt .... på "udskrift" har jeg 4 textbokse (unavngivne) - hvordan får jeg lagt mine hentede data (fra recordsettet) ind i dem?
Avatar billede juggalo Nybegynder
28. januar 2002 - 16:02 #7
Følgende virker:

Private Sub Command1_Click()
aabncon
strSQL = "SELECT nummer,navn,klub,tid FROM deltagere WHERE rute=1 ORDER BY tid"
Set rs = connect.Execute(strSQL)
Set udskrift.DataSource = rs

With udskrift
  With .Sections("Section1").Controls
    For i = 1 To .Count
      If TypeOf .Item(i) Is RptTextBox Then
        .Item(i).DataMember = ""
        .Item(i).DataField = rs.Fields(i - 1).Name
      End If
    Next i
  End With
.Show
End With

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