powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Размножение строк
11 сообщений из 11, страница 1 из 1
Размножение строк
    #39446025
Ataxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
Задача следующая: имеется таблица. Один из столбцов содержит данные примерно следующих видов

00-00-001 и 00-00-001(некий юникодовский символ)010

Нужна процедура, с помощью которой под срокой, поле которой содержит запись вида: 00-00-001[символ]010 создались строки следующим образом.

00-00-001[символ]010
00-00-002
00-00-003
00-00-004
...
**-**-010
Т.е. пока значение перед символом не станет равно значению после. Данные соседних ячеек в строке дублируются в соответствующие поля создаваемых строк.
Подскажите как сможете

Начал объявлять переменные:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim s As String 
s = Cell (i,1).Value 
Dim ind As Integer 
ind = InStr (1, s, ChrW(247)) 
Dim r As String 
Dim l As String 
r = Right(s, Len(s) - ind+1) 
l = Left(s, Len(s) - ind-1)


Можно же объявить индекс с помощью определённого "-" при том, что в значении их несколько?
Потом же нужно переводить формат в числовой, чтобы в цикле прибавлять единицы?

Мысли в кашу:(

P.S. Не нужно ли с этой задачей в другой раздел форума обратиться?
...
Рейтинг: 0 / 0
Размножение строк
    #39446092
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
Dim l As String 
Dim sn As String 
Dim r As Integer 
Dim m As Integer 
l = Left(s, Len(s) - ind-1) '00-00-001
m = CInt(Right(l,3))+1 '2 
l = Left(l, Len(l) - 3) '00-00-
r = CInt(Mid(s, ind+1) ) '10
'Здесь добавьте код вставки r-m+1 пустых строк
Do While m <= r
 sn = l & Format(m, "000") '00-00-002,... 00-00-010 
'Здесь вставляете значение из sn в нужную ячейку
 m = m + 1
Loop
...
Рейтинг: 0 / 0
Размножение строк
    #39446096
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AtaxyP.S. Не нужно ли с этой задачей в другой раздел форума обратиться?А у Вас точно Access?
...
Рейтинг: 0 / 0
Размножение строк
    #39446264
Ataxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaА у Вас точно Access?
Он. Просто вдруг бы для раздела VB было бы более актуально
...
Рейтинг: 0 / 0
Размножение строк
    #39446307
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AtaxyОн.Тогда СИЛЬНО смущает вторая строка показанного кода...
...
Рейтинг: 0 / 0
Размножение строк
    #39446336
Ataxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, хорошо если только вторая. Т.к. чайник.
А как будет тогда правильно присвоить переменной значение неизвестной заранее ячейки?
...
Рейтинг: 0 / 0
Размножение строк
    #39446345
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ataxyприсвоить переменной значение неизвестной заранее ячейки?Ячейки - это Excel. В Access нет ячеек - от слова "совсем".
...
Рейтинг: 0 / 0
Размножение строк
    #39446357
Ataxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЯчейки - это Excel. В Access нет ячеек - от слова "совсем".
Тем не менее, имеется у меня сейчас рабочий модуль в Access, в коде которого Cell очень даже фигурирует (c Excel не связан).

Как бы там ни было, я сюда не спорить пришёл, а помощи прошу. Ваше виденье решения задачи мне тоже интересно
...
Рейтинг: 0 / 0
Размножение строк
    #39446366
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ataxyимеется у меня сейчас рабочий модуль в Access, в коде которого Cell очень даже фигурирует (c Excel не связан).Оно, конечно, могла бы быть там переменная или объект с этим именем, дефиницию коих кто-то стыдливо спрятал... но там пробел! что невозможно даже в Excel. А значит, мы видим кое-как подкорректированный код, который далёк от реального.

И если всё это происходит в Access, то фраза
Ataxyпод строкойтакже лишена смысла, т.к. в отличие от Excel в Access данные хранятся в таблицах, где никакого порядка следования записей нет в принципе. Таблица - это ящик, куда навалом ссыпаны записи. И порядок у них появится только если при выборке их дополнительно явно отсортировать.
AtaxyВаше виденье решения задачи мне тоже интересноТак Вы не озвучили задачу. Вы самостоятельно приняли решение - решать некую неизвестную и неозвученную нам задачу показанным выше способом, и просите совета по реализации именно этого способа.
...
Рейтинг: 0 / 0
Размножение строк
    #39446375
Ataxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА значит, мы видим кое-как подкорректированный код, который далёк от реального.
Под рабочим модулем я имел в виду другую программу, фрагменты которой в данной теме не фигурировали. А над тем, что описано здесь мне ещё работать.
авторТак Вы не озвучили задачу. Вы самостоятельно приняли решение - решать некую неизвестную и неозвученную нам задачу показанным выше способом, и просите совета по реализации именно этого способа.
Ящик с записями, так ящик с записями - ок. К сожалению, я не знаю Access, и потому не знаю как грамотно формулировать задачу.
Поэтому описывать приходится с точки зрения юзера, который не подозревает что ячейки таблицы Access вовсе на самом деле не ячейки, да и не таблицы, в общем то, а ящика.
Код, который я показал - не способ. Я всего-лишь попробовал объявить переменные и выложил, чтобы посмотрели и сказали, верно ли я это делаю и стоит ли оно того вообще. На способе я не настаиваю. И с радостью ознакомлюсь с любым предложенным мне способом.
...
Рейтинг: 0 / 0
Размножение строк
    #39446791
Ataxy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пару дней был занят
Анатолий ( Киев ),
автор'Здесь добавьте код вставки r-m+1 пустых строк
Такой способ уместен?
Код: vbnet
1.
2.
3.
For i=1 To r-m+1
CurrentDb.Execute "INSERT INTO Таблица ([Столбец1], [Столбец2], [Столбец3], [Столбец4]) VALUES (NULL, NULL, NULL, NULL)" 
Next
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Размножение строк
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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