Пример с запросом к нескольким таблицам в VFP
« Назад Из источника данных BookSaleDataBase выбираются сведения о книгах, изданных ранее 1987 г. После чего принимается решение об удалении выбранных записей из таблиц Titles и Title Author. nStHandle = SQLConnect('BookSaleDataBase') && && Текст запроса StmtStr = 'select Authors.Author, Publishers.Name as Publisher, ; Titles.Title, Titles.[Year Published] as Year_Published, Titles.ISBN ' ; + ' from Authors, Publishers, Titles, [Title Author] as Title_Author ' ; + ' where Authors.Au_ID = Title_Author.Au_ID ; and Titles.ISBN = Title_Author.ISBN ; and Titles.PubID = Publishers.PubID ; and Titles.[Year Published] < 1987 ' ; + ' order by Authors.Author' && && Выполняем запрос SQLExec(nStHandle, StmtStr, 'OldBooks') if Reccount( ) > 0 then && && Возможный результат см. на рис. 16.16 browse last nMsg = MessageBox("Удалить записи из таблиц Titles и Title Author?", ; 4 + 32 + 256) if nMsg = 6 then && Нажата кнопка "Да" && Удаляем записи. Для этого просматриваем && курсор OldBooks, беря из него значение поля ISBN scan SQLExec(nStHandle, 'delete from Titles ' ; + ' where Titles.ISBN = ?OldBooks.ISBN') SQLExec(nStHandle, 'delete from [Title Author] ' ; + ' where [Title Author].ISBN = ?OldBooks.ISBN') endScan endif else MessageBox("Нет книг, удовлетворяющих условию Year Published < 1987") endif && && Разрываем SQL-соединение SQLDisconnect(nStHandle) Рис. 16.16. Одна запись курсора OldBooks |