Здравствуйте!
Пишу макрос, который добавляет прописанный столбец из базы данных в место, куда укажет пользователь при помощи Refedit.
Когда пользуюсь процедурой в первый раз, все работает хорошо.
Но проблема возникает тогда, когда я пытаюсь на этот же лист добавить этот же самый столбец или новый столбец. Думаю, дело все в этом блоке кода:
Выложить сам экселевский файл с формой не могу, потому что он прицеплен к базе данных (без нее все равно, работать не будет). а базу данных я не могу выкладывать :-(
Спасибо!
Пишу макрос, который добавляет прописанный столбец из базы данных в место, куда укажет пользователь при помощи Refedit.
Код |
---|
Private Sub otobr4a1_Click() With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _ "ODBC;DSN=MS Access Database;DBQ=C:\Users\Îëüãà Àëáóòîâà\Desktop\Microsoft Access Áàçà äàííûõ.accdb;DefaultDir=C:\Users\Îëüãà Àëáóòîâà" _ ), Array("à\Desktop;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _ )), Destination:=Range(RefEdit4a1.Text)).QueryTable .CommandText = Array( _ "SELECT Äàííûå.`4A1`" & "FROM Äàííûå ") .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlEntireRows .SavePassword = False .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = "Òàáëèöà_Çàïðîñ_èç_MS_Access_Database" .Refresh BackgroundQuery:=False End With End Sub |
Когда пользуюсь процедурой в первый раз, все работает хорошо.
Но проблема возникает тогда, когда я пытаюсь на этот же лист добавить этот же самый столбец или новый столбец. Думаю, дело все в этом блоке кода:
Код |
---|
.FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlEntireRows .SavePassword = False .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = "Таблица_запрос_из_MS_Access_Database" .Refresh BackgroundQuery:=False |
Спасибо!