k4fu Geschrieben 7. August 2006 Geschrieben 7. August 2006 hi, ich will einen ausdruck mit list und label machen (vielleicht kennt das jemand?) dieses benötigt als parameter eine datasource in dem fall ein data object dieses kann man ja füllen in dem man eine datenbank (access) angibt... ich krieg aber meine daten von einem adodb recordset; wie kann ich dieses data object mit den recordset daten füllen? mfg k4fu
DevHB Geschrieben 8. August 2006 Geschrieben 8. August 2006 Hi, habe vor ein paar Jahren mal damit gearbeitet, aber das mit dem DataObject ist mir nicht bekannt. Welche Version verwendest Du? Habe mir grade mal testweise die 11er als Trial runtergeladen, aber auch nichts entspr. (DataSource) gefunden. Welches Control von L&L nimmst Du ?
k4fu Geschrieben 8. August 2006 Autor Geschrieben 8. August 2006 also ich hab mit vb.net ein programm entwickelt, welches auch list und label hatte und da gings; hab hier ein dataset übergeben in vb6 geht das nicht so einfach ListLabelVB1.AddVarsToFields = True ListLabelVB1.AutoDatasource = Data1 '<----- wie krieg ich das mit 'Daten gefüllt? über accessdb gehts einfach... aber daten aus einem 'adodb recordset??? ListLabelVB1.AutoDesignerFile = App.Path & "\abgeschlossene wartungen.lst" ListLabelVB1.AutoProjectType = LL_PROJECT_LIST ListLabelVB1.AutoDesign ("Test")
DevHB Geschrieben 8. August 2006 Geschrieben 8. August 2006 Hi, mein Problem ist, dass ich folgende Eigenschaft gar nicht habe (ListLabelVB1.AutoDatasource). In den Beispielen durchlaufen die einen Datencontainer (Data.Recordset) und fügen dem Report die Werte hinzu. Eventuell ist das eine Möglichkeit ?
k4fu Geschrieben 8. August 2006 Autor Geschrieben 8. August 2006 evtl ja nur wie fülle ich diesen datacontainer? gibts irgendwo beispiele... oder stelle ich mich einfach nur doof an? wie gesagt hole ich mir die werte aus der datenbank über ein adodb recordset... wie speichere ich diese dann in den datacontainer?
DevHB Geschrieben 8. August 2006 Geschrieben 8. August 2006 Hi, habe ich mich wohl ein wenig quer ausgedrückt, mit Datencontainer meine ich Dein Recordset. Schau Dir mal das Beispiel "MultiTab" an, falls Du es hast, wenn nicht, kann ich Dir das schicken.
k4fu Geschrieben 8. August 2006 Autor Geschrieben 8. August 2006 ist dies wirklich die einzige lösung? ich mein: egal ob c++, vb.net, usw kann man die felder mit 5 zeilen code übergeben... außerdem dauert hier das öffnen von ll knapp 3 minuten, weil er ja die schleife durchrennt. das kanns ja auch nicht sein
DevHB Geschrieben 8. August 2006 Geschrieben 8. August 2006 Hi, ich meine, ich habe es damals auch anders gemacht. Jedoch war das nicht Version 11, sondern 9 oder 10. Ich schaue zu Hause nochmal nach. Ansonsten hab ich auch keine Ahnung mehr, sorry.
k4fu Geschrieben 8. August 2006 Autor Geschrieben 8. August 2006 ich habs jetzt geschafft, ein feld zu übergeben; jedoch sollten im feld (im gegensatz zur variable) mehrere werte drinstehn; bei mir steht aber nur ein wert (des selects) drin Private Sub vDruck() Dim oRs As New ADODB.Recordset Dim nRet As Long Dim para As Long Dim content Dim FileName As String Dim CleanUpBmpArr() Dim nBmpFileCounter As Long Dim oConnDruck As New ADODB.Connection Dim sName As String Dim sUser As String Dim sIP As String sName = clsAP.RegRead("HKCU\SOFTWARE\F.EE Maintenance\DB_1_Name") sUser = clsAP.RegRead("HKCU\SOFTWARE\F.EE Maintenance\DB_1_User") sIP = clsAP.RegRead("HKCU\SOFTWARE\F.EE Maintenance\DB_1_IP") oConnDruck.ConnectionString = "Provider=SQLOLEDB.1;Data Source=" & sIP & _ ";Initial Catalog=" & sName & _ "; UID=" & sUser & ";" oConnDruck.Open oRs.Open " select bezeichnung from auftrag ", oConnDruck Dim oField For Each oField In oRs.Fields Select Case oField.Type Case adVarWChar, adVarChar, adChar, adLongVarChar, adLongVarWChar, adBSTR: para = LL_TEXT content = oField Case adDate: para = LL_DATE_MS If Not IsNull(oField) Then content = CStr(CSng(CDate(oField))) End If Case adBoolean: para = LL_BOOLEAN If oField Then content = ".T." Else content = ".F." End If Case adLongVarBinary: para = LL_DRAWING content = WriteBitmap(oField) nBmpFileCounter = nBmpFileCounter + 1 ReDim Preserve CleanUpBmpArr(nBmpFileCounter) CleanUpBmpArr(nBmpFileCounter) = content Case Else: para = LL_NUMERIC content = oField End Select While Not oRs.EOF nRet = ListLabel1.LlDefineFieldExt(oField.Name, oRs(0).Value, para) oRs.MoveNext Wend Next oRs.Close ListLabel1.LlDefineLayout frmWartung.hWnd, "Design report", LL_PROJECT_LIST, FileName End Sub
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden