MS Access 2013 VBA - проблема с точкой (".") В пути к каталогу - PullRequest
0 голосов
/ 31 августа 2018

У меня есть код для обновления серии файлов MDB из файла Master MDB. Код извлекает адрес каталога из таблицы в мастере. Однако некоторые имена каталогов содержат точки. Это приводит к ошибке «Ошибка времени выполнения 3126 Неверный брекетинг имени K: \ DRUMSFILES \ CARDINAL LÉGER JR. HIGH SCHOOL \ JOB1_SJ3911 - SS \ DATA \ student] .mdb"

Период в «JR». вызывает ошибку. У меня нет контроля над именами каталогов.

Я пробовал двойные кавычки и квадратные скобки, но не нашел комбинации, которая работает.

Вот как выглядит код:

Dim sqlStr As String
Dim db As dao.Database
Dim rs As dao.Recordset

sqlStr = "SELECT SchoolFilePath from Jobs;"

Set db = CurrentDb
Set rs = db.OpenRecordset(sqlStr)

rs.MoveFirst
DoCmd.SetWarnings (WarningsOff)
Do While Not rs.EOF
  filePath = rs.Fields("SchoolFilePath") & "\students.mdb"
  strSQL = "DELETE FROM AddItems IN '" & filePath & "';"
  CurrentProject.Connection.Execute strSQL
  sqlStr = "insert into AddItems (Item1, Item2, Item3) IN '" & filePath & "' VALUES ('Retouch', 'Problem Orders', 'Class Photo/Memory Book');"
  Debug.Print sqlStr
  DoCmd.RunSQL (sqlStr)
  rs.MoveNext
Loop
DoCmd.SetWarnings (WarningsOn)

Строка отладки показывает, как выглядит строка SQL. Выключены последние ошибки:

    insert into AddItems (Item1, Item2, Item3) IN 'K:\DRUMSFILES\CAMILLA SCHOOL\JOB1_MD3907 - 2PMB\DATA\students.mdb' VALUES ('Retouch', 'Problem Orders', 'Class Photo/Memory Book');
    insert into UserFields (User1, User2, User3) IN 'K:\DRUMSFILES\CAMILLA SCHOOL\JOB1_MD3907 - 2PMB\DATA\students.mdb' VALUES ('Problem Order', 'Family Plan', 'Late/Reorder');
    insert into AddItems (Item1, Item2, Item3) IN 'K:\DRUMSFILES\CAMILLA SCHOOL\JOB2_MD3907 - 1 - 2PMB - RTK\DATA\students.mdb' VALUES ('Retouch', 'Problem Orders', 'Class Photo/Memory Book');
    insert into AddItems (Item1, Item2, Item3) IN 'K:\DRUMSFILES\CARDINAL LÉGER JR. HIGH SCHOOL\JOB1_SJ3911 - SS\DATA\students.mdb' VALUES ('Retouch', 'Problem Orders', 'Class Photo/Memory Book');
...