DBF wie Excel Row/Col

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12909
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

DBF wie Excel Row/Col

Beitrag von AUGE_OHR »

hi,

per Array wäre es wohl kein Problem, aber bei einer DBF ...

Ein Browse zeigt einen Record als Row an wobei die Colume einem Feld zugeordnet ist.
per AddColumne könnte ich ein weitere Feld hinzufügen.
neue Records werden an die Row angehängt

Wenn man nun z.b. einen Lieferschein von einen Kunden sehen möchte sind in einem "normalen" Browse alle Positionen untereinander.

Ich habe mir nun zuerst einen "1 Columne Browser" gebaut den ich mit weiteren "1 Columne Browser" pro Lieferschein füttere
... also 10x bis 20x "1 Columne Browser"

Nun bekommen nicht alle Kunden das selbe, also müsste ich die "anderen" Artikel mit Menge 0 noch anlegen/sortieren damit ich pro Row immer den selben Artikel habe wegen Synchronisation ( oBrowse:Down() ).

wie gehe ich nun am "geschicktesten" vor ... Array wäre ja kein Problem, aber DBF ... :-k
ich möchte auch unbedingt per :datalink auf die DBF arbeiten
... und die 0 Menge "Dummys" nicht per APPEND BLANK an einen Lieferschein hängen ...

oder wenn doch Array, dann müsste der :datalink den Inhalt der betreffenden Cell (editierbar) auch sofort in die DBF zurück schreiben.

oder hat jemand eine Idee wie man das "anderes" angehen könnte ? (activeX mit Excel,das hab ich mit dem DSOframer versucht ...)
ExcelTour.JPG
ExcelTour.JPG (82.46 KiB) 2896 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: DBF wie Excel Row/Col

Beitrag von Koverhage »

Hallo Jimmy,

ich nutze dafür 2 Browse (mit Express++).
Wiese möchtest Du überhaupt die Kundendaten in den Browse darstellen.
Wäre es nicht besser im Browse nur die Positionen und ganz normal oben drüber die Kundendaten,
oder Du macht ein mehrzeiligen Header in dem die Kundendaten stehen.
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12909
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: DBF wie Excel Row/Col

Beitrag von AUGE_OHR »

Koverhage hat geschrieben:ich nutze dafür 2 Browse (mit Express++).
wie ?
Koverhage hat geschrieben:Wiese möchtest Du überhaupt die Kundendaten in den Browse darstellen.
Wäre es nicht besser im Browse nur die Positionen und ganz normal oben drüber die Kundendaten,
oder Du macht ein mehrzeiligen Header in dem die Kundendaten stehen.
Das Bild soll nur die Columne / Rows zeigen wie ich die in einem (optischen) Browse habe möchte.

die Columne (AddColumne() ), je Kunde, können dabei > 1 bis ... sein und die Rows (Append Blank) pro Artikel.

Tja und wie baue ich die DBF auf ? ... Array kein Problem.
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: DBF wie Excel Row/Col

Beitrag von Koverhage »

Jimmy,

da ist ein Beispiel in den Samples von Express++

Aber hier ein Auszug von meinem Code, in meinem Fall sind die nebeneinander.

Code: Alles auswählen

bPosit := {|| ("rp")->(DbClearScope()), ;
                 ("rp")->(DbSetScope( SCOPE_TOP, str( ("rk")->renr, 9 ) ) ), ;
                 ("rp")->(DbSetScope( SCOPE_BOTTOM, str( ("rk")->renr, 9 ) ) ), ;
                 ("rp")->(dbGoTop()), ;
                 oBrowRp:refreshAll() }

   @  3,  0 DCBROWSE oBrowse ALIAS cAlias SIZE lastcol-70, lastrow-3 ;
            MKCOLOR { || !dummy() }, { || sayrfarbe() } ;
            NOSOFTTRACK SCOPE DESCENDING ;
            ITEMMARKED {|| Eval(bPosit), ;
                           DC_GetRefresh(GetList,, ;
                           DCGETREFRESH_TYPE_EXCLUDE,{GETLIST_BROWSE}) } ;
            EVAL {|| oBrowse:goTop() }

   DCSETPARENT oBrowse
   DCBROWSECOL DATA { || x_reart(("rk")->rekn) } HEADER mess209 WIDTH 6 PICTURE "XXXXXXXX"
   DCBROWSECOL field ("rk")->renr HEADER mess210 WIDTH 6 PICTURE "999999999"
   DCBROWSECOL field ("rk")->rdat HEADER mess211 WIDTH 6
   DCBROWSECOL field ("rk")->gnet HEADER mess212 WIDTH 6 PICTURE "@E 99,999.99"
   DCBROWSECOL field ("rk")->mwdm HEADER mess213 WIDTH 6 PICTURE "@E 99,999.99"
   DCBROWSECOL field ("rk")->gbru HEADER mess214 WIDTH 6 PICTURE "@E 99,999.99"
   DCBROWSECOL DATA { || if( ("rk")->druk, JA, NEIN ) } HEADER mess215 ;
           WIDTH 4 PICTURE "XXXX"
   DCBROWSECOL DATA { || if( ("rk")->fibu, JA, NEIN ) } HEADER mess216 ;
           WIDTH 4 PICTURE "XXXX"
   DCBROWSECOL FIELD ("rk")->txt WIDTH 12;
           HEADER "Komm" DATATOOLTIP {|| lDataToolTips }

   DCSETPARENT TO
   @  3, nFpos DCBROWSE oBrowRp ALIAS 'rp' SIZE lastcol-(nFpos+1),lastrow-3 ;
               PRESENTATION DC_BrowPres() ;
               NOSOFTTRACK SCOPE

   DCSETPARENT oBrowRp
   DCBROWSECOL field ("rp")->pos HEADER mess217 WIDTH 4 picture "9999"
   DCBROWSECOL field ("rp")->artnr HEADER mess218 picture "!!!!!!!!!!!!"
   DCBROWSECOL field ("rp")->bez1 HEADER mess219 ;
           picture "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
   
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12909
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: DBF wie Excel Row/Col

Beitrag von AUGE_OHR »

Koverhage hat geschrieben:da ist ein Beispiel in den Samples von Express++
Danke !
Koverhage hat geschrieben:

Code: Alles auswählen

bPosit := {|| ("rp")->(DbClearScope()), ;
                 ("rp")->(DbSetScope( SCOPE_TOP, str( ("rk")->renr, 9 ) ) ), ;
                 ("rp")->(DbSetScope( SCOPE_BOTTOM, str( ("rk")->renr, 9 ) ) ), ;
                 ("rp")->(dbGoTop()), ;
                 oBrowRp:refreshAll() }
sehe ich das richtig das du den SCOPE von "rp" auf "rk" setzt wobei das 2 Browse sind ? hm ... das wäre doch dann "komprimiert" ?
stehe auf x-Artikel 1318 -> y-Anzeige Kunden 24314 sowie 23938 also "nur" 2 Kunden ... ich will "alle" ;)
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: DBF wie Excel Row/Col

Beitrag von Koverhage »

Hallo Jimmy,

rp = Rechnungspositionen
rk = Rechnungskopfdaten

entsprechend dem Kunden (oder Rechnungskopf) wird ein Scope auf die Position gesetzt.

Sollte auch nur als Anhaltspunkt dienen, wie das gemacht wird.
Gruß
Klaus
Antworten