|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2011, 17:04 | #1 |
Новичок
Джуниор
Регистрация: 18.04.2011
Сообщений: 3
|
visual basic, access, форматирование вывода
В MS Access при открытиии отчета проверяю некое значение, которое хранится в строке таблицы. Далее добавляю к этому значению единицу и заношу в ту же строку таблицы. Далле вывожу значение из таблицы
Me.Надпись4.Caption = Str(i) Мне нужно, чтобы в надпись выводилось семизначное число. То есть, если у меня число в таблице 154, то в поле надпись, чтобы выводилось так: 0000154. Если у меня значение в таблице 1564, то в надпись, чтобы выводилось: 0001564 |
19.04.2011, 17:52 | #2 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Цитата:
функция подойдет ? Код:
Код:
Код:
Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
Последний раз редактировалось R Dmitry; 19.04.2011 в 18:50. Причина: апдейт :) |
|
19.04.2011, 19:07 | #3 |
Новичок
Джуниор
Регистрация: 18.04.2011
Сообщений: 3
|
У меня еще короче получилось : Me.Надпись4.Caption = Format(i, "0000000")
Итого весь код обработки события открытия отчета: Private Sub Report_Open(Cancel As Integer) Dim i As Integer Dim db As Database Dim rs As Recordset Dim sql_select As String sql_select = "SELECT * FROM numb" Set db = CurrentDb Set rs = db.OpenRecordset(sql_select, dbOpenDynaset) If (rs.RecordCount = 1) Then Set bd = DBEngine.Workspaces(0).Databases(0) Set tab1 = bd.OpenRecordset("numb") tab1.Edit i = tab1!Number tab1!Number = i + 1 tab1.Update End If i = tab1!Number Me.Надпись4.Caption = Format(i, "0000000") End Sub А теперь нужно чделать такое. Нужно чтобы можно было печатать пачку бланков с номерами последовательными. Как можно видеть из кода, я сделал, когда нужно один бланк напечатать. А если нужно 30 или 100. При этом, нужно, чтобы в следующий раз, когда нужно будет напечатать один бланк или 100, базка помнила последний номер и начинала опять все правильно последовательно считать... Думаю, что это можно реализовать добавив еще одну таблицу, в которую записывать конечный номер печати. Дальше сравнивать и печатать, пока номера не совпадут. Процедурка выше - это моя первая процедурка на VB ? поэтому прошу помощи! |
20.04.2011, 10:52 | #4 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Цитата:
ну да сделать табличку с одной строкой и LOOKUPом тянуть начальный счетчик, и в конце процедуры обновить показания счетчика в таблице
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
21.04.2011, 14:27 | #5 |
Новичок
Джуниор
Регистрация: 18.04.2011
Сообщений: 3
|
Не силен в VB, можно пример кода.
|
21.04.2011, 14:49 | #6 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
пример
Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
Последний раз редактировалось R Dmitry; 21.04.2011 в 14:51. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Форматирование вывода даты | tools | SQL, базы данных | 4 | 05.06.2010 22:10 |
2 задания по Visual Basic и Access | Romon | Фриланс | 1 | 31.05.2010 11:40 |
За вознаграждение 2 задания по Visual Basic и Access | Romon | Помощь студентам | 0 | 30.05.2010 23:43 |
Форматирование консольного вывода. | jojahti | Общие вопросы C/C++ | 0 | 15.09.2009 13:17 |