У меня есть база данных Access, в которой я импортирую данные публикации книг/журналов из JabRef в формате CSV. Когда я импортирую данные для доступа к одной из нечетных вещей, которые происходят, это то, что номера страниц задаются двумя дефисами между ними, поэтому данные в столбце «pages» в Access выглядят примерно так: «200-213»InStrRev не дает правильные результаты
Мне нужно уметь подсчитывать количество страниц, на которые ссылаются.
Для того, чтобы сделать это я делаю следующее в несвязанных текстовых полей на форме:
я найти длину строки в столбце «страница» (должно переименовать страницы переменных, как это зарезервированное имя к pagesset): ПЛЭН = Len ([pagesset])
Я нахожу количество символов, которые происходят от левого вплоть до "-": LPageVar = InStr ([pagesset], "-")
Я нахожу количество символов, которые происходят справа до «-»: RPageVar = InStrRev ([pagesset], «-»)
Я нашел фактический номер страницы в левой части «-»: LVal = Влево ([pagesset], [LPageVar] -1)
Я нашел фактический номер страницы в правой части экрана, - ": RVal = Right ([pagesset], [RPageVar] -1)
рассчитать количество страниц, которые появляются: Pgcnt = RVal - LVal
Все, кажется, работает ... кроме случаев, когда «InStrRev» ударяет элемент, который увеличивает число на 10 или 100 точек, например: «7-11», «7-23» или «92-101» в противоположность этому: «102 - 123 "или" 103-110 "(что не вызывает проблем). Когда он попадает в эти более короткие pagethe, RPageVar является слишком низким на 1.
Для каждого из этих элементов справа RVal, кажется, бросает первый символ ... так что для «7-11» последняя страница отображается как 1 или для «7-23» он будет сообщать последнюю страницу как 3 или «92-101», последняя страница будет сообщена как 01. Это приводит к тому, что эти конкретные значения страниц будут отрицательными.
У кого-нибудь есть идея, почему я получаю такое поведение?
Сколько страниц в этом ассортименте «1--2»? – HansUp
Я считаю, что ваш код правильно вычисляет страницы. В диапазоне «1--2» будет 2 страницы. – Vaulcul