Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Multiusers and grids
Message
 
À
11/02/1997 11:52:40
Alhad Marathe
Asm Consulting
Mumbai, Inde
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00019951
Message ID:
00020120
Vues:
48
>>>>Is it possible to select a dbf and then present it in a grid for presentation off data. When user nr 2 opens the form and the grid shows the dbf user nr 1s grid is blanked.
>>>>
>>>>Best regards
>>>>Per Simmersholm
>>>
>>>Add the grid to your form with the proper number of columns.
>>>Leave grid controlsource property and columns recordsource properties blank, then add the following line in the load event of the form :
>>>thisform.grid.controlsource = 'tablename'
>>
>>This I have done.
>>But before I open the grid I run a query into a table.
>>so when user 2 use the same form/grid the same query is
>>run and then blanked.
>>
>>Is it possible to select a random tablename and use this in the grid??
>>My code in the activate form start like this
>>SELECT *;
>> FROM hovedlønn;
>>INTO TABLE midhov1.dbf
>>
>>SELECT midhov1
>>APPEND FROM korrdag
>>
>>SELECT midhov1.ansnavn,midhov1.ansattnumm,midhov1.avdeling,midhov1.job,;
>> midhov1.dato1,midhov1.skift,midhov1.lønnsartna,;
>> midhov1.lønnsartnu,;
>> SUM(midhov1.Timer) AS Timer;
>> FROM midhov1;
>> GROUP BY midhov1.ansattnumm,midhov1.dato1,midhov1.avdeling,midhov1.job,midhov1.lønnsartnu;
>> ORDER BY midhov1.ansattnumm,midhov1.dato1,midhov1.avdeling,midhov1.job,midhov1.lønnsartnu;
>> INTO TABLE midhov.dbf
>>
>>
>>
>>IF USED('prdag4')
>> SELECT prdag4
>>ELSE
>>USE prdag4.dbf
>>ENDIF
>> DELETE ALL
>>APPEND FROM midhov
>>PACK
>>SET ORDER TO ANSNAVN
>>GO TOP
>>
>>
>>IF THISFORM.ans.value="*"
>> THISFORM.Grid1.RecordSource='prdag4'
>> ELSE
>> THISFORM.Grid1.RecordSource='prdag3'
>>ENDIF
>>
>>
>>SELECT *;
>>FROM prdag4;
>> WHERE VAL(THISFORM.ans.value)=prdag4.ansattnumm;
>> INTO TABLE prdag3.dbf
>>
>> THISFORM.Grid1.ColumnCount=9
>> THISFORM.Grid1.FontSize=8
>>
>> THISFORM.Grid1.Column1.Width=180
>> THISFORM.Grid1.Column1.Header1.Caption="Ansatt"
>> THISFORM.Grid1.Column1.FontBold=.F.
>> THISFORM.Grid1.Column1.Enabled=.F.
>> THISFORM.Grid1.Column2.Width=30
>> THISFORM.Grid1.Column2.Header1.Caption="Nr"
>> THISFORM.Grid1.Column2.FontBold=.F.
>> THISFORM.Grid1.Column2.Enabled=.F.
>> THISFORM.Grid1.Column3.Width=30
>> THISFORM.Grid1.Column3.Header1.Caption="Avd"
>> THISFORM.Grid1.Column3.FontBold=.F.
>> THISFORM.Grid1.Column3.Enabled=.F.
>> THISFORM.Grid1.Column4.Width=30
>> THISFORM.Grid1.Column4.Header1.Caption="Job"
>> THISFORM.Grid1.Column4.FontBold=.F.
>> THISFORM.Grid1.Column4.Enabled=.F.
>> THISFORM.Grid1.Column5.Width=50
>> THISFORM.Grid1.Column5.Header1.Caption="Dato"
>> THISFORM.Grid1.Column5.FontBold=.F.
>> THISFORM.Grid1.Column5.Enabled=.F.
>> THISFORM.Grid1.Column6.Width=30
>> THISFORM.Grid1.Column6.Header1.Caption="Sk"
>> THISFORM.Grid1.Column6.FontBold=.F.
>> THISFORM.Grid1.Column6.Enabled=.F.
>> THISFORM.Grid1.Column7.Width=120
>> THISFORM.Grid1.Column7.Header1.Caption="Lønnsart"
>> THISFORM.Grid1.Column7.FontBold=.F.
>> THISFORM.Grid1.Column7.Enabled=.F.
>> THISFORM.Grid1.Column8.Width=30
>> THISFORM.Grid1.Column8.Header1.Caption="Nr"
>> THISFORM.Grid1.Column8.FontBold=.F.
>> THISFORM.Grid1.Column8.Enabled=.F.
>> THISFORM.Grid1.Column9.Width=42
>> THISFORM.Grid1.Column9.Header1.Caption="Timer"
>> THISFORM.Grid1.Column9.Text1.InputMask='99.99'
>>
>> THISFORM.Grid1.ReadOnly=.F.
>> SET SAFETY ON
>>
>>In the textbox interactivechange method I have the following code
>>
>>SELECT *;
>>FROM prdag4;
>> WHERE VAL(THISFORM.ans.value)=prdag4.ansattnumm;
>> INTO TABLE prdag3.dbf
>>
>>GO TOP
>>
>>And then I run
>> THISFORM.Grid1.ColumnCount=9
>> THISFORM.Grid1.FontSize=8
>>
>> THISFORM.Grid1.Column1.Width=180
>> THISFORM.Grid1.Column1.Header1.Caption="Ansatt"
>>
>>etc...
>
>If you only need to display data, you can use cursors instead of tables. Cursors are opened locally and are not overwritten by query fired by user 2.

If you need to use a table, so it can be updated, then sys(3) will give you a unique file name. Be sure you delete this file after you close it, though.
Barbara Paltiel, Paltiel Inc.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform