Как я могу загрузить имена столбцов из таблицы Access в переменную (я не уверен, какой использовать)? Я использую ADOTable в Delphi7
Я пытаюсь импортировать имена столбцов из таблицы MS Access (с именем Learners) в какую-то переменную (не знаю, какую из них использовать). Имена столбцов являются датами. При нажатии btnSave (TButton) код должен определить, был ли еще создан столбец с текущей датой. Если нет, то он должен его создать. Это код, который я получил до сих пор:
procedure TForm1.btnSaveClick(Sender: TObject);
var
bFound: boolean;
K: integer;
strColumnNames : TStringList;
begin
strColumnNames := TStringList.Create;
tblLeerders.GetFieldNames(strColumnNames);
bFound := False;
for K := 1 to tblLeerders.IndexFieldCount
do
begin
if strColumnNames.Strings[K] <> FormatDateTime('dd/mm/yyyy', Date())
then
begin
bFound := True;
end;
end;
if bFound = False
then
begin
with qryLearners
do
begin
SQL.Text := 'Alter TABLE Leerders ADD COLUMN ' + FormatDateTime('dd/mm/yyyy', Date()) + ' Boolean ';
ExecSQL;
end;
end;
end;
Пожалуйста помоги! Любые советы будут высоко ценится.
1 ответ
Решение
Пытаться:
if Assigned(tblLeerders.FindField(FormatDateTime('dd/mm/yyyy', Date()))) then
begin
qryLearners.SQL.Text := 'Alter TABLE Leerders ADD COLUMN ' +
FormatDateTime('dd/mm/yyyy', Date()) + ' Boolean ';
qryLearners.ExecSQL;
end;
(код отредактирован согласно Джерри ниже)
Вы также сказали "Любой совет будет оценен". Мой совет: не пытайтесь использовать базу данных как электронную таблицу. Сохраните данные обычным способом (в таблице со столбцом даты и значения) и затем денормализуйте для представления. Доступ делает это легко с помощью Crosstab Queries.