Я узнал, как импортировать CSV в мою базу данных Access через другой вопрос .Но в ответе нет информации о том, как настроить таргетинг на определенные столбцы при импорте.Как я могу быть уверен, что правильные столбцы из CSV будут помещены в правильные столбцы в моей базе данных?
Мне нужно иметь возможность редактировать / добавлять значения столбцов по мере их импорта , используяклассический ASP .Примеры:
- Четвёртый столбец в CSV - это идентификатор пользователя, мне нужно иметь возможность добавить «@ domain.com» в конец, когда он входит в базу данных для столбца электронной почты.
- Шестой столбец является классификацией: если его значение равно «Учитель», тогда, когда оно импортируется, мне нужно изменить его на «Класс».
Я работаюс некоторым старым кодом и БД, которые я не создал.Поверьте, я бы использовал что-то еще, если бы мог, , поэтому не нужно делать пот-шоты для использования MS Access, пожалуйста.
Я думаю, все это сводится к этому:
- , если ответ на предыдущий вопрос действительно позволяет мне рассматривать CSV так же, как таблицу БД, тогда как я могу выбратьстолбцы как в реальной таблице БД?
// Обновление:
Я все настроил так, как я считаю так и должно быть, но я получаю сообщение об ошибке:
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/datazone_bkup/Rollover/importTeachers.asp, line 12
строка 12: CSV.open "SELECT * FROM teachers.csv", conn
Мой полный код выглядит следующим образом:
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &_
Server.MapPath("\path\to\file") & ";Extended Properties='text;HDR=no;FMT=Delimited';"
Set connCSV = Server.CreateObject("ADODB.Connection")
connCSV.Open strConn
Set CSV = Server.CreateObject("ADODB.recordset")
CSV.open "SELECT * FROM teachers.csv", conn
do until CSV.eof
UserName = CSV.Fields(4)
LastName = CSV.Fields(1)
FirstName = CSV.Fields(2)
MiddleName = CSV.Fields(3)
School = CSV.Fields(5)
if CSV.Fields(6) = "Teacher" then
SecLevel = "Classroom"
end if
Active = "Yes"
TeacherNumber = rsCSV.Fields(0)
rsCSV.movenext
sql = "INSERT INTO tblTeacher (UserName, LastName, FirstName, MiddleName, School, SecLevel, Active, TeacherNumber) " &_
"VALUES (" &_
"'" & UserName & "','" & LastName & "','" & FirstName & "','" & MiddleName & "'," &_
"'" & School & "','" & SecLevel & "','" & Active & "','" & TeacherNumber & "'" &_
")"
on error resume next
conn.execute(sql)
loop
@ HansUp , когда я пытался использовать !
как в rsDB!UserName
я получил Syntax Error
.Поэтому я вернулся к установке переменных для значений столбца CSV.
Опять же, спасибо за любую помощь.