When a trigger fires, VFP code is executed. What is the workarea while executing that code?
CREATE DATABASE xx
CREATE TABLE temp (name c(10))
CREATE TABLE AnotherTemp (name c(10))
CREATE TRIGGER ON temp FOR INSERT as name !=ShowAlias(ALIAS())
CLOSE DATABASES all
USE temp ALIAS foo
USE temp again ALIAS bar IN 2
USE anothertemp IN 3 ALIAS fred
SELECT fred && select different area
INSERT INTO foo VALUES ("bb")
INSERT INTO bar VALUES ("BAR") && Trigger Fails
INSERT INTO foo VALUES ("FOO") && Trigger Fails
PROCEDURE ShowAlias(cAlias as String) as String
From running this code, it’s clear that the Alias is always that of the cursor being updated, regardless of the Alias selected in the code that caused the trigger to fire.
Be careful! The “TEMP” table is actually used twice with 2 different aliases, neither of which is “TEMP”