[VB 6] Data Report

Pagina: 1
Acties:

  • fluppie007
  • Registratie: April 2005
  • Laatst online: 28-11 11:17
Beste Allemaal,

Ben in VB op een probleempje gestuit, ik kan namelijk geen textboxen in mijn report header plaatsen. Dit wordt mij door VB onmogelijk gemaakt. Wel kan je kopiëren uit Detail en dan
heb je wel een textbox in je Header maar dan geeft hij bij het runnen een error dat er geen
text control aanwezig kan zijn in de Header. Dus heb ik alles met Labels gemaakt. Maar deze
labels moeten wel variabele gegevens gaan bevatten ( Naam, Adres, Stad ) van een klant.
Waarom ik deze informatie per se daarboven wil, simpelweg omdat als ik dan het A4 in 3 vouw
de gegevens precies komen waar het venster in men envelop is. Nu terug naar die labels, in een
formulier kan je da Caption van een label makkelijk aanpassen ( Label1.Caption = "BLABLA" ), nu vind ik maar niet hoe ik de caption van de labels in mijn datareport kan "setten" net voordat ik
mijn DataReport1.Show functie ga uitvoeren. Op welke manier kan ik die labels hun Caption
aanspreken ? Dus als iemand gewoon al weet hoe ik "blabla" in die Labels kan zetten dan weet
ik voldoende. Ik heb met de zoekfunctie al dit gevonden:

DataReport1.Sections(4).Controls(1).Caption = "test"

Waarbij 4 de sectie is waar mijn report header is, van die controls weet ik niet hoe ik weet welke index ze hebben... Hopelijk kan iemand mij helpen.

Alvast bedankt !

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

in plaats van de nummers kun je ook de naam van de sections en controls gebruiken.

Probeer wel je introductieverhaal wat getructureerder te schrijven, we doen hier niet aan tekstinterpretaties.

  • fluppie007
  • Registratie: April 2005
  • Laatst online: 28-11 11:17
code:
1
Set DataReport1.Sections(Section4).Controls(ContactName).Caption = " 1 2 3 "


of

code:
1
DataReport1.Sections(Section4).Controls(ContactName).Caption = " 1 2 3 "


Werkt beiden niet, helaas, ook vult hij na Controls(....) niet meer automatisch aan, eender welke waarde ( 0,1,2,3,... of ContactName ofzo ) je invult. Dat met die SET heb ik uit deze thread

http://gathering.tweakers...sages/408487///datareport

Daar krijgt de persoon wel een label veranderd, maar een image niet, en ik wil juist mijn label
laten wijzigen.

  • fluppie007
  • Registratie: April 2005
  • Laatst online: 28-11 11:17
Afbeeldingslocatie: http://img226.imageshack.us/img226/1240/datareportdesignor6.jpg

heb even een screentje van men data report gemaakt, dat schept mss duidelijkheid
die ContactName, Address, City zijn dus labels en die moet ik kunnen wijzigen.
En ik gebruik geen Textboxen omdat dat simpelweg niet mag van VB in de reportheader

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Je moet de namen wel tussen aanhalingstekens zetten:
Visual Basic:
1
DataReport1.Sections("Section4").Controls("ContactName").Caption = " 1 2 3 "

Dat intellisence niet meer werkt is mij een bekend probleem. Dat kun je afdwingen door variabelen te gebruiken. De volgende code doet hetzelfde.
Visual Basic:
1
2
3
4
5
6
7
Dim MySection4 as Section
Set MySection4 = DataReport1.Sections("Section4")

Dim MyContactNameControl As Control
Set MyContactNameControl = MySection4.Controls("ContactName")

MyContractNameControl.Caption = " 1 2 3 "


@fluppie007,

eensgelijk! :)

[ Voor 3% gewijzigd door PhysicsRules op 26-12-2006 13:33 ]


  • fluppie007
  • Registratie: April 2005
  • Laatst online: 28-11 11:17
Koning !

Werkt als een trein, kan ik weer verder, hartelijk dank !

Prettige 2e kerstdag en het beste voor het aankomende jaar !

Groetjes !


Philippe

Verwijderd

Dag Fluppy en PhysicsRules,

Ik kwam jullie berichten tegen, via Google, doordat ik naar precies hetzelfde aan het zoeken was. Wat ik wilde heb ik,mede door jullie, bereikt. Hieronder moet een plaatje komen van de code met uitleg. Misschien nog interessant voor (een van) jullie. Mocht het plaatje niet doorkomen, door mijn redelijk lage begrip van hoe dit allemaal werkt, en heb ik toch jullie interesse gewekt mag je me mailen naar hier@stond_een_emailadres.nl voor een copy van de code.

[img]http://C:\Documents and Settings\Mundo\Bureaublad\VB6 DataReport.JPG[/img]

Dank voor de inspiratie

[ Voor 3% gewijzigd door RobIII op 03-01-2007 00:21 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 02 januari 2007 @ 21:34:
en heb ik toch jullie interesse gewekt mag je me mailen naar hier@stond_een_emailadres.nl voor een copy van de code.
Dat druist nogal tegen het nut van een forum in ;) Als er nog vragen zouden zijn zien we die hier graag zodat iedereen meeprofiteert van de opgedane kennis ;)
Verwijderd schreef op dinsdag 02 januari 2007 @ 21:34:
C:\Documents and Settings\Mundo\Bureaublad\VB6 DataReport.JPG
Dat gaat inderdaad niet werken nee ;) Host je plaatje anders even online ofzo ;)

[ Voor 50% gewijzigd door RobIII op 03-01-2007 00:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

RobIII schreef op woensdag 03 januari 2007 @ 00:18:
[...]

Dat druist nogal tegen het nut van een forum in ;) Als er nog vragen zouden zijn zien we die hier graag zodat iedereen meeprofiteert van de opgedane kennis ;)

[...]

Dat gaat inderdaad niet werken nee ;) Host je plaatje anders even online ofzo ;)
Ik kan de VB Codes bijna allen uit mijn hoofd opzeggen en ik weet hoe ik iets op mijn website moet zetten, maar ik beprijp niets van html of scripts. Ook heb ik geen ervaring met forums. Het lukt me dus niet een plaatje in dit bericht te plaatsen (wat zou de url van mijn plaatje zijn?) en ik zou ook niet weten hoe ik dit on-line zou moeten doen. Kan iemand me daar een zetje in geven? Dank!

  • Upsal
  • Registratie: Mei 2005
  • Laatst online: 27-08-2024
RCResink: ga bijv. naar www.imageshack.us en klik op 'Bladeren/browse' knop.
Je krijgt een http://.... link (oftewel URL) aangereikt die je hier op het forum kunt gebruiken d.m.v.:

[img]http://hier de rest van de URL[/img]

[ Voor 28% gewijzigd door Upsal op 04-01-2007 19:08 ]


Verwijderd

Met dank aan Upsal hierbij de link naar een plaatje van de code in een VB6 Data Report waarmee run-time tekst in labels of textboxes geschreven kan worden.

[img]http://img403.imageshack.us/my.php?image=vbdatareportcodelx7.png]Afbeeldingslocatie: http://imageshack.us/thumbnail.png

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 05 januari 2007 @ 00:16:
Met dank aan Upsal hierbij de link naar een plaatje van de code in een VB6 Data Report waarmee run-time tekst in labels of textboxes geschreven kan worden.

[img]http://img403.imageshack.us/my.php?image=vbdatareportcodelx7.png][afbeelding]
Niet om te betweten of je op de huid te zitten, maar het was makkelijker geweest om je code tussen [code] tags te posten ;) Ik dacht dat je een screenshot van een uiteindelijk report wilde plaatsen (wat meer "sense" zou hebben gemaakt ;) )

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

RobIII schreef op vrijdag 05 januari 2007 @ 00:29:
[...]

Niet om te betweten of je op de huid te zitten, maar het was makkelijker geweest om je code tussen [code] tags te posten ;) Ik dacht dat je een screenshot van een uiteindelijk report wilde plaatsen (wat meer "sense" zou hebben gemaakt ;) )
Betweten is goed, daar kan een ieder van leren. Denigreren is minder. Eersteklassers van 57 jaar oud zijn niet per sé dommerikken. Ik heb die UBB code even bekeken en het zou mij dagen kosten om het op die manier te posten. Ik dacht Fluppy hier een dienst me te doen. Laat me maar weten of ik verdere bezoeken aan tweakers maar beter kan laten.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 05 januari 2007 @ 20:35:
[...]


Betweten is goed, daar kan een ieder van leren. Denigreren is minder. Eersteklassers van 57 jaar oud zijn niet per sé dommerikken. Ik heb die UBB code even bekeken en het zou mij dagen kosten om het op die manier te posten. Ik dacht Fluppy hier een dienst me te doen. Laat me maar weten of ik verdere bezoeken aan tweakers maar beter kan laten.
Ik ben bang dat je m'n post verkeerd opvat; wat ik bedoelde te zeggen is dat je waarschijnlijk meer ervaring hebt met knippen/plakken van tekst in plaats van een screenshot maken, dat uploaden en (ook) "moeilijke" UBB tags gebruiken. Had je het volgende gedaan dan was je er ook geweest:

[code]

<plak hier je code>

[/code]


En uiteraard zijn we altijd ontzettend blij met input van anderen; ook als er al een eventuele oplossing zou zijn. Een extra point-of-view of extra kritiek / input kan nooit kwaad. Sterker: dat is zo'n beetje de basis van een forum en in het bijzonder GoT. En uiteraard ben je hier (jong en oud*) altijd welkom en wilde ik je dus absoluut niet wegwuiven of denigrerend overkomen. Mocht dat toch zo zijn overgekomen dan bied ik bij deze mijn welgemeende excuses aan.

* De "ouderen" zijn, toegegeven, wat dunner gezaaid hier maar ik kan je wel vertellen dat je met je 57 jaar nog maar een jonkie bent hier ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

[quote]RobIII schreef op zaterdag 06 januari 2007 @ 01:43:
[...]

Dank voor die reactie, Rob. Donkere wolk onmiddelijk weg. En je bent een goede leraar - zie mijn huiswerk in de volgende post.

Verwijderd

Hierbij nog eens, en nu wat duidelijker, mijn code voor het in run-time geven van waarden aan objecten in een VB Data Report:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
' This is the code section of a DataReport with MDI-Child set to true
' Before starting DataReport1 state 'Set DataReport1 = Nothing' to ensure there
  'is nothing in memory
' DataReport1 is started by 'DataReport1.show'
  '(modal not possible with MDI-Child)
' Other settings handled in the DataReport Initialize and QueryClose codes
'_______________________________________________________________________________
Private Sub DataReport_Initialize()
  Dim xTitle As String                  ' create a title string
  xTitle = "Addressen " & GetInUsername ' with custom procedure getting username
  Dim xPic As Picture                   ' and a picture object
  Set xPic = LoadPicture(App.Path & "RepPic.JPG")
  Dim myS, myC, myX               ' find objects by name wherever they are
  For Each myS In Me.Sections     ' run through the report sections
    For Each myC In myS.Controls  ' run through the controls in the section
      Select Case myC.Name
      Case "lblTitle"             ' see if its name is one we are looking for
        myC.Caption = xTitle      ' found and put the title string in the label
      Case "imgRepPic"
        Set myC.Picture = xPic    ' found and set the picture object
      Case "any other object"     ' possibly more objects
      End Select
    Next
   Next22:53 6-1-2007
  
  ' %i is the variable for the DataReport's title used in any label
  ' %d for a short and %D for a long date
  ' %t for a short and %T for a long time
  ' %p for the page number and %P for the total number of pages. 'Pages: %p / %P'
  ' use %% for percentage

  xTitle = FileDateTimeString & xTitle  ' precede the title string with a
                                        ' YYMMDD_HHMMSS string (custom procedure)
  Me.Title = xTitle ' this is the system title represented by '%i' not used now.
                    ' me.title is in this case used for a default file name for
                    ' printing to a virtual printer like win2pdf.
  Me.Orientation = rptOrientPortrait    ' Portrait print format
  Me.WindowState = 2            ' makes it visible and maximized in the MDI form
 
End Sub
'_______________________________________________________________________________

Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
    While Me.AsyncCount > 0
        DoEvents
    Wend
End Sub



Groet
Pagina: 1