PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → [WB19] Scatter Gather
[WB19] Scatter Gather
Iniciado por guest, 09,jul. 2015 19:48 - 6 respuestas
Publicado el 09,julio 2015 - 19:48
Is there an easy way of copying a record from one table to another... like scatter/gather?
Publicado el 09,julio 2015 - 20:39
Hi Randall

if you are talking about copying a record from one file of the analysis to another one, and if both files have the same structure, then the answer is hcopyrecord

if you are talking about copying a line from a table control to another one, and both have the same columns, then I think I remember that tableName returns a tab delimted string that you can use in tableAdd(secondtable...)

If you are not in one of those two cases, please give us some precisions

Best regards
Publicado el 10,julio 2015 - 04:06
You mean this?

"In computing, vectored I/O, also known as scatter/gather I/O, is a method of input and output by which a single procedure-call sequentially writes data from multiple buffers to a single data stream or reads data from a data stream to multiple buffers. The buffers are given in a vector of buffers."
Publicado el 10,julio 2015 - 11:48
if it's only to copy one record from one table (file) to another why don't you use:
INSERT INTO FileName [(NameOfItems)] SELECT ...
http://doc.windev.com/en-US/…
Publicado el 10,julio 2015 - 22:11
He means an old FoxPro Command
https://msdn.microsoft.com/en-us/library/aa978285%28v=vs.71%29.aspx

FileToArray() should do it!
Publicado el 14,julio 2015 - 17:10
I apologize for not being more specific... I was referring to the old FoxPro commands.
I referred to that because it could be easily entered at the command line. I realize there is a debug interface, but I'm not aware of a similar command line interface to copy and paste (scatter/gather) a record... there's a graphical interface where there's this context menu, and although you can Copy a Row there's no way that I know of to Paste a Row... which would be very helpful.

[attachment 1592 file_context_menu.png]
Publicado el 15,julio 2015 - 11:52
Scatter / Gather like FoxPro is available in WinDev using "Record" type variable. Here is example used to split and invoice line into two lines.

Create a variable of type "Record"
Scatter to it by = when you are on the record to scatter
Make any field changes required to the variable
Reverse the code to gather =
Now add the gathered record.

// First create variable of record in my table called edcmeters
rRec is record of edcmeters

// Then in button do code...
//1 : &Split
//2 : Do ¬ split
SWITCH Dialog("Split line for this reading?")
CASE 1
rRec = edcmeters // scatter record
rRec.EDCINVOICE = Null // Roll readings 1 an d2
rRec.EDCLREAD1 = EDCTREAD1
rRec.EDCTREAD1 = 0
rRec.EDCLREAD2 = EDCTREAD2
rRec.EDCTREAD2 = 0
edcmeters = rRec // Gather record
HAdd(edcmeters) // Add record

TableDisplay(Table_edcmeters,taStart) // Redisplay the table to show new record
END

Windev is a great replacement for FoxPro.