Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / сохраниение набора имен таблиц бд в массив с помощью vbscript / 11 сообщений из 11, страница 1 из 1
05.10.2007, 18:12
    #34851022
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
В цикле
For Each tb In DB_mdb.TableDefs.
удаляются нужные таблицы,но хочу переделать члед.образом.
Чтобы набор имен таблиц бд сохранялся в массив,колекцию или еще что-то чтобы цикл можно было сделать не по TableDefs и удалять таблицы уже по конкретным именам из массива,колекции
Как сделать сабж?
...
Рейтинг: 0 / 0
05.10.2007, 18:54
    #34851151
TD6370
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
А то мешает перебрав этот цикл загрузить все имена таблиц в массив, а вследующем цикле перебрать этот массив и удалить нужные таблы?
...
Рейтинг: 0 / 0
06.10.2007, 04:53
    #34851549
IguMEN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
А по што хранить массив? Неужто долго перебрать БД на предмет имеющихся таблиц? К тому же, таблицы могут удаляться из вне, другими приложениями. А твоя прога не будет знать об изменениях, и массив останется прежним.
...
Рейтинг: 0 / 0
08.10.2007, 11:11
    #34853326
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
IguMENА по што хранить массив? Неужто долго перебрать БД на предмет имеющихся таблиц? К тому же, таблицы могут удаляться из вне, другими приложениями. А твоя прога не будет знать об изменениях, и массив останется прежним.
Удалялял так
Код: plaintext
1.
2.
3.
4.
5.
For Each tb In DB_mdb.TableDefs
   	if left(td.name, 4 )="temp" or td.name="PUNKTY" then 
        	DB_mdb.execute "drop table "& td.name 
        end if
next  
Таким способом заходит только один раз в цикл видит только одну таблицу и выходит
...
Рейтинг: 0 / 0
08.10.2007, 11:24
    #34853376
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
TD6370А то мешает перебрав этот цикл загрузить все имена таблиц в массив, а вследующем циклке перебрать этот массив и удалить нужные таблы?
Только то что делая так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
For Each tb In DB_mdb.TableDefs
   	if left(td.name, 4 )="temp" or td.name="PUNKTY" then 
		Make_String_and_Log (tb.name)
		NameTables(i)=td.name
		redim Preserve NameTables(i+ 1 )
	end if
next



В цикл заходит один раз видит одну таблицу и выходит.На выходе пустой массив.
Почему не хочет работать For Each tb In DB_mdb.TableDefs?
...
Рейтинг: 0 / 0
08.10.2007, 11:48
    #34853477
Guest11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
Денис24 TD6370А то мешает перебрав этот цикл загрузить все имена таблиц в массив, а вследующем циклке перебрать этот массив и удалить нужные таблы?
Только то что делая так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
For Each tb In DB_mdb.TableDefs
   	if left(td.name, 4 )="temp" or td.name="PUNKTY" then 
		Make_String_and_Log (tb.name)
		NameTables(i)=td.name
		redim Preserve NameTables(i+ 1 )
	end if
next



В цикл заходит один раз видит одну таблицу и выходит.На выходе пустой массив.
Почему не хочет работать For Each tb In DB_mdb.TableDefs?
For Each tb In DB_mdb.TableDefs
if left(td.name,4)="temp" or td.name="PUNKTY" then
Почувствуй разницу между tb и td...
...
Рейтинг: 0 / 0
08.10.2007, 12:31
    #34853671
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
Guest11 Денис24 TD6370А то мешает перебрав этот цикл загрузить все имена таблиц в массив, а вследующем циклке перебрать этот массив и удалить нужные таблы?
Только то что делая так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
For Each tb In DB_mdb.TableDefs
   	if left(td.name, 4 )="temp" or td.name="PUNKTY" then 
		Make_String_and_Log (tb.name)
		NameTables(i)=td.name
		redim Preserve NameTables(i+ 1 )
	end if
next



В цикл заходит один раз видит одну таблицу и выходит.На выходе пустой массив.
Почему не хочет работать For Each tb In DB_mdb.TableDefs?
For Each tb In DB_mdb.TableDefs
if left(td.name,4)="temp" or td.name="PUNKTY" then
Почувствуй разницу между tb и td...
разница огромна. ;)Спасибо
...
Рейтинг: 0 / 0
08.10.2007, 12:38
    #34853708
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
Еще...
Переменная i не увеличивается. Перед циклом ее стоит обнулить, а после выполнения условия i=i+1. Для нескольких таблиц наверно лучше пользоваться select...case, хотя и несколько if...then тоже ничто не мешает поставить.
...
Рейтинг: 0 / 0
08.10.2007, 15:43
    #34854419
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
i= 0 
For Each tb In DB_mdb.TableDefs
   	if left(tb.name, 4 )="temp"  then
		redim Preserve NameTables(i)
		NameTables(i)=tb.name
		
	end if
	if tb.name="PUNKTY" then 
		redim Preserve NameTables(i)
		NameTables(i)=tb.name
	end if
	i=i+ 1 
next

redim Preserve NameTables(i)-на этой строке пишет Type mismach
Что не так?
...
Рейтинг: 0 / 0
08.10.2007, 16:43
    #34854645
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
Что ,никто не знает?
...
Рейтинг: 0 / 0
10.10.2007, 09:20
    #34858961
Wasup!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохраниение набора имен таблиц бд в массив с помощью vbscript
А как объявлен массив NameTables?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / сохраниение набора имен таблиц бд в массив с помощью vbscript / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]