Como é que eu faço um aScan para localizar um determinado registro em uma Hash Table ?
Preciso localizar na hRecords um determinado registro que eu sei o nome do campo, usando aScan ou função equivalente
Código exemplo:
With Object ::cRecordSet := :Execute()
nTotRec := :RecordCount()
nCampos := :Fields():Count -1
IF nTotRec = 0
cErro:="A consulta não retornou registro(s)"
Break
ENDIF
::aLista := Array(nTotRec, nCampos)
hRecords := { => }
Do While ! :Eof
hRecord := { => }
For nField := 0 TO ( :Fields:Count ) - 1
hb_HSet( hRecord, :Fields( nField ):Name, :Fields( nField ):value ) // for each record, hrecord holds a hash of column name: column value
Next // hrecord holds a hash of column name: column value
hb_HSet( hRecords, LTrim( Str( :AbsolutePosition ) ), hRecord ) // like so, a hash of recno: hash of columns/values of this record
:MoveNext()
ENDDO
End With
RETURN hRecords