Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-12 15:10:46 - Gunnar Feltborg, i forum visual basic - allmänt, Tråden har 9 Kommentarer och lästs av 475 personer

Jag har med hjälp av Visual Basic’s utvecklingsverktyg Data Report Designer (Project—Add Data Report) gjort rapporter med EN gruppindelning. Detta funkar helt OK! Min första fråga är hur ser koden ut om man vill göra ytterligare en gruppnivå i rapporten? Min andra fråga är hur ser koden ut om man vill lägga in en bild (exvis bitmap) i rapporten?
Här nedan följer ett enkelt exempel på en rapport med en gruppnivå:


Public cmd As New ADODB.Command
Public Conn As New ADODB.Connection
Public rsTEST As New ADODB.Recordset
Public stDB As String
Public rs1 As New ADODB.Recordset
Public filnamn As String

Sub Command1_Click()
' laddar in bilden i formuläret
filnamn = "C:\VBex\logotype.bmp"
Form1.Picture1 = LoadPicture(filnamn)
End Sub


Sub Command2_Click()
Dim intCtrl As Integer
Dim z As Integer
z = 0
With rptSäljare
.Hide
Set .DataSource = rsTEST
.DataMember = ""

' RAPPORTHUVUD
With .Sections("Section4").Controls
intCtrl = 2
.Item(intCtrl).Caption = Date
' ladda in bilden i rapporten: HUR???
intCtrl = 3
If TypeOf .Item(intCtrl) Is RptImage Then
' .Item(intCtrl).Image = Form1.Picture1
' .Item(intCtrl).Picture = LoadPicture(filnamn)
End If
End With

' GRUPPHUVUD 2 (HUR LÄGGS DATA IN??)
' With .Sections("Section8").Controls
' intCtrl = 1
' If TypeOf .Item(intCtrl) Is RptTextBox Then
' .Item(intCtrl).DataMember = ""
' .Item(intCtrl).DataField = rsTEST.Fields("avdelning").Name
' End If
' End With

' GRUPPHUVUD 1
With .Sections("Section6").Controls
intCtrl = 2
If TypeOf .Item(intCtrl) Is RptTextBox Then
.Item(intCtrl).DataMember = ""
.Item(intCtrl).DataField = rsTEST.Fields("postort").Name
End If
End With

' DETALJER
With .Sections("Section1").Controls
For intCtrl = 1 To .Count
If TypeOf .Item(intCtrl) Is RptTextBox Then
.Item(intCtrl).DataMember = "Command2"
.Item(intCtrl).DataField = rs1(z).Name
z = z + 1
End If
Next intCtrl
End With

' GRUPPFOT 1
With .Sections("Section7").Controls
intCtrl = 2
If TypeOf .Item(intCtrl) Is RptFunction Then
.Item(intCtrl).DataMember = "Command2"
.Item(intCtrl).DataField = rs1(1).Name
End If
End With

' GRUPPFOT 2 (HUR FÅS SUMMAN??)
' With .Sections("Section9").Controls
' intCtrl = 2
' If TypeOf .Item(intCtrl) Is RptFunction Then
' .Item(intCtrl).DataMember = "Command2"
' .Item(intCtrl).DataField = rs1(1).Name
' End If
' End With

' RAPPORTFOT
With .Sections("Section5").Controls
intCtrl = 2
If TypeOf .Item(intCtrl) Is RptFunction Then
.Item(intCtrl).DataMember = "Command2"
.Item(intCtrl).DataField = rs1(1).Name
End If
End With

.Refresh
.Show
End With
End Sub


Sub Form_Load()
' sökvägen till databasen i Access
stDB = "C:\VBex\TEST.mdb"

Conn.Open "Provider=MSDATASHAPE; Data Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= " & stDB & ";"
With cmd
.ActiveConnection = Conn
.CommandType = adCmdText
.CommandText = "SHAPE{SELECT namn,poäng,region,postort" _
& " FROM Säljare" _
& " ORDER BY postort,namn}" _
& " AS Command2 COMPUTE Command2 BY 'region','postort'"
.Execute
End With
With rsTEST
.ActiveConnection = Conn
.CursorLocation = adUseClient
.Open cmd
End With
Set rs1 = rsTEST(0).Value
End Sub


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-12 17:14:58 - Markus Hansson

Vad det gäller summering eller dylikt av aggregat i gruppfot, så vill jag minnas att dessa data inte är åtkomliga via kod, som du försöker.

Antingen får du använda DATAShape språkets funktioner för denna typ av övningar (designern kan generera dem), eller så får du lösa det direkt i SQL'en. Eller en kombination dessa angreppsätt. Det går ju en att komma åt data i en DataReport kontroll av typen Function från DATAShape.

Ett sätt att enkelt skapa olika typer av aggregat är att använda parent-child relationer i Shape, där childen bara är till för att vara underlag åt en summering i parenten.

Hm... uttrycker mig nog oklart. Hoppas det hjälpte något.

/S


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-12 17:43:48 - Markus Hansson

Jo, vad det gäller att visa bild i en RptImage i rapporten... Funkade inte den koden du hade? Följande test fungerar då för mig:

Private Sub Form_Load()

With DataReport1


Dim ctl As Object

For Each ctl In .Sections(1).Controls

If TypeName(ctl) = "RptImage" Then
Set ctl.Picture = Me.Image1.Picture
End If

Next ctl

.Show

End With

End Sub


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-13 09:38:20 - Gunnar Feltborg

Jag förstår tyvärr ingenting av ditt resonemang (min kunskapsnivå är kanske för låg).
Summering i rapporter med flera gruppnivåer vet jag fungerar, eftersom jag har sett sådana rapporter gjorda med DRD. Det skall gå, men hur ser koden ut?

mvh
Gunnar


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-13 09:41:20 - Gunnar Feltborg

Jag har lagt in din kod men jag får det inte att fungera!
Får felmeddelande: Invalid Data Source

mvh
Gunnar


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-13 17:58:51 - Markus Hansson

Ursäkta mig, lite slarvigt... Rapporten måste ha ewn datakälla när den visas.

I mitt exempel hade jag via Properties (PropertyPage) kopplat rapporten mot ett Command objekt jag lagt upp i DataEnvironment'et. Det är enklare om du får projektet... kolla www.systemrequest.se/misc/dataenv.zip

Vad gäller Datareports och DataShape så innehåller de många begränsningar. Har suttit med sura nästlade SQL satser för att komma runt vissa problem.

/S


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-13 19:59:20 - Markus Hansson

Angående "gruppindelningar". Ponera följande: för varje Avvikelsekod vill jag lista alla rader i Transaktion, med denna avvikedlse. I DataShape:

SHAPE {SELECT AvvikelseNr, AvvikelseText FROM Avvikelse} AS Command1 APPEND ({SELECT TransaktionsID, AvvikelseNr FROM Transaktion} AS Command2 RELATE 'AvvikelseNr' TO 'AvvikelseNr') AS Command2

/S


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-14 11:50:23 - Gunnar Feltborg

Tack för dina förslag och synpunkter. Jag förstår att du är proffs på området, jag är bara amatör, varför jag inte riktigt hänger med i dina turer.

Min problematik är ju att DYNAMISKT från Access kunna upprätta rapporter med hjälp av VB-kod.
För att du lättare skall kunna se vad jag menar skulle jag vilja skicka dig en zip-fil, men hur skickar jag den?

mvh
Gunnar


Svara

Sv: Skriva rapporter med VB:s rapportgenerator

Postades av 2003-03-14 21:55:24 - Markus Hansson

Hm... angående din önskan om dynamik. Om du menar att visa ett dataurval vid en viss tidpunkt, inga problem. Om du med dynamisk menar att datastrukturen är föränderlig (tabeller och dess fält varierar) är det problem (i alla fall väldans krångligt).

Vet inte om jag är värst proffesionell, men hur som, shoot. markus.hansson@systemrequest.se

/S


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 168
27 952
271 704
1 438
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies