<TBL>.DELETE_RANGE()

Syntax

<TBL>.DELETE_RANGE( [ Filter as C ] )

Argument

Description

Filter

Optional. Default = current query or range. A character filter expression that evaluates to a logical value. If a Filter is included, the current query or range is ignored, and only records that satisfy the Filter are deleted.

Description

The <TBL>.DELETE_RANGE() method is a high-level utility function used to delete selected records in a table. The operation is performed on the records in the table pointed to by the <TBL> object pointer.

Note : Do not use <TBL>.DELETE_RANGE()in a multi-user environment where other users may lock records within the range.

Supported By

Alpha Five Version 5 and Above

Example

This script deletes California customer records

dim tbl as P

tbl = table.open("d:\a5\a_sports\customer.dbf")

'Perform a query to find California customers.

query.filter = "State_prov = 'CA' "

query.order = "Recno()"

qry_ca_cust = tbl.query_create()

'Delete all records in current query by omitting the optional filter expression

tbl.delete_range()

tbl.close()

This script ignores the current range and deletes New York customers.

dim tbl as P

tbl = table.open("d:\a5\a_sports\customer.dbf")

'Perform a query to find California customers.

query.filter = "State_prov = 'CA' "

query.order = "Recno()"

query.options = ""

qry_ca_cust = tbl.query_create()

'Delete all records in New York

tbl.delete_range("State_prov = 'NY' ")

tbl.close()

This script deletes all of the records in a table individually without using the <TBL>.DELETE_RANGE() method.

dim tbl as P

tbl = table.current()

tbl.fetch_first()

while .NOT. tbl.fetch_EOF()

    tbl.change_begin()

    tbl.delete()

    tbl.change_end(.T.)

end while

This script compiles and then removes script source from a database.

dim tbl as P

' Make AEX
a5_compile_scripts()

' Make and add new table to database
file.copy("final.alb", "temp.dbf")
file.copy("final.alm", "temp.fpt")
file.copy("final.alx", "temp.cdx")
file_add_to_db("temp.dbf")

' Remove scripts and UDFs
tbl = table.open("temp")
filter = "(type = 'scrp') .or. (type = 'gudf')"
tbl.delete_range(filter)
tbl.pack()
tbl.close()

' Replace al* files with new dictionary
file.copy("temp.dbf", "final.alb")
file.copy("temp.fpt", "final.alm")
file.copy("temp.cdx", "final.alx")

' Erase temp table
table.erase("temp", .t.)

See Also

Table Functions and Methods, Writing Expressions