Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нумерация
 
 автор: debilder   (20.02.2009 в 12:02)   личное сообщение
 
 

В текстовом поле есть сквозная нумерация...но бывает когда в нумерации есть пробелы. т.е. 4,5,6,9,10
Подскажите как вывести номера которые отсутствуют? т.е. 1,2,3,7,8

  Ответить  
 
 автор: Дрюня   (20.02.2009 в 12:15)   личное сообщение
 
 

можно попробовать написать свою функцию
next - prev <> 1
то пропущено

  Ответить  
 
 автор: час   (20.02.2009 в 15:28)   личное сообщение
 
 

Вот попробуйте из этого что нибудь сварганить своё
Кода то давно делал ....
надо переделать да вроде ока не нужно........

'поиск свободных номеров

Dim F As Integer, S As Integer

F = Me!Поле9'  какого номера
S = (Val(Me!Поле9) + Val(Me!Поле11))' по какой номер
'Val(Me!Поле11))' сколько номеров
If MsgBox("Проверяем номера с " & Me!Поле9 & " по " & S, vbQuestion + vbYesNo) = vbNo Then Exit Sub
Поле0 = " "
intM = 0
For intM = F To S
Me!Поле6.SetFocus
Me!Поле6 = intM
Requery
If intM > S Then GoTo b
If DFirst("[NOMER]", tabd, "[NOMER] =" & intM) Then
Else
If intM = F Then Поле0 = intM & ", ": GoTo Bb
Поле0 = Поле0 & intM & ", "
Bb:
Поле0.SetFocus
Requery
End If
Next intM
MsgBox "ПРОВЕРКА ОКОНЧЕНА"

b:

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 15:40)   личное сообщение
 
 

Насколько я понял, у автора есть поле со значением

 4,5,6,9,10

т.е. ему нужно сделать
1,2,3,7,8
Задача сводится к перебору в массиве всех значений поля ( запятые в массив не передаются). После формируется новый массив из пропущенных чисел, и эти данные, опять, же разделяются запятыми, и массив преобразуется в строку, с которой чо-нить потом делается.

По моему, такие задачки решаются на первых курсах при изучении программирования.

  Ответить  
 
 автор: Lukas   (20.02.2009 в 15:47)   личное сообщение
 
 

Решается быстрее запросом:


SELECT str2
FROM tbl2
WHERE str2 Not In (SELECT str1 FROM tbl1);


где tbl2 - заготовленная таблица с полным набором номеров.

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 16:13)   личное сообщение
10 Кб.
 
 

Ну и как с помощью твоего запроса в поле2 засунуть нехватающие в поле NUM номера из Поле1 Таблицы1?

  Ответить  
 
 автор: Lukas   (20.02.2009 в 16:25)   личное сообщение
 
 



Автор:
...В текстовом поле есть сквозная нумерация...


Я понял это так, что в поле таблицы ведется нумерация:
запись (ID=1) значение поля = "1"
запись (ID=2) значение поля = "2"
и т.д.
Записи иногда удаляются, и тогда возникают "пробелы" в нумерации.
Этот вариант можно решить запросом.

А если рассматривать твой вариант значений полей типа "1,2,7,8", тогда да, кодом.
Но я так думаю, что это не есть "...сквозная нумерация..."

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 18:34)   личное сообщение
 
 

БАЛЯЦЬ БАЛАЦЬ МОИ НОЖКИ БАЛЯЦЬ

Совсем торможу
Есть строка "1,2,3,4,5,6"
Как ее переделать в массив значений 1 2 3 4 5 6?
Под вечер них не соображаю.

А ведь когда то делал

  Ответить  
 
 автор: Lukas   (20.02.2009 в 18:39)   личное сообщение
 
 

Split
И значения в массиве.
Подробней надо?

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 19:09)   личное сообщение
 
 

Сэнькс. Далее сам разберусь

Вааще пора идти тяпнуть куда-нибудь.
ТЯП!!!!

  Ответить  
 
 автор: Lukas   (20.02.2009 в 19:12)   личное сообщение
 
 

Давно пора.
Сегодня-же тяпница.

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 19:13)   личное сообщение
 
 

К концу тяпницы уровень мозговой активности падает почти до нуля, а коэффициент IQ выыще становится отрицательным.

  Ответить  
 
 автор: Lukas   (20.02.2009 в 19:20)   личное сообщение
 
 

Вот поэтому и придумали выходные.

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 19:22)   личное сообщение
 
 

Пока разбирался с ентым массивом, забыл нафига он мну был нужен. А ведь хотел для чего-то всунуть в проект.

  Ответить  
 
 автор: Lukas   (20.02.2009 в 19:23)   личное сообщение
 
 


Бросай это грязное дело, иди в семью.

  Ответить  
 
 автор: FORMAT   (20.02.2009 в 19:31)   личное сообщение
 
 

УСЕ!!! С окончанием очередной тяпницы. Пошел домой отмечать дочкин .день рождения.

  Ответить  
 
 автор: Lukas   (20.02.2009 в 19:33)   личное сообщение
 
 

Передавай ей, чтоб росла большая и не баловная.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList