Ноль после запятой

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Al Prad
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 16.08.2007 (Чт) 12:46
Откуда: Одесса

Ноль после запятой

Сообщение Al Prad » 13.05.2008 (Вт) 14:19

Добрый день!

В mdb-базе определил поля типа single. Пользователь при вводе целого числа хочет видеть 0 после запятой (напр. 8,0), а у меня обрезается самостоятельно до 8. Как можно испрасить ситуацию?

Спасибо.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 13.05.2008 (Вт) 14:36

Al Prad
Формат поля - Фиксированный, Число знаков после запятой - 1 Делаешь это в таблице, где находится поле и обновляешь все связанные объекты.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.05.2008 (Вт) 14:44

Задай формат поля "0.0".
Lasciate ogni speranza, voi ch'entrate.

Al Prad
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 16.08.2007 (Чт) 12:46
Откуда: Одесса

Сообщение Al Prad » 13.05.2008 (Вт) 14:49

Денис писал(а):Al Prad
Формат поля - Фиксированный, Число знаков после запятой - 1 Делаешь это в таблице, где находится поле и обновляешь все связанные объекты.


Засада. Файл в формате Access95. Мой Access 2003 соглашается его открыть только для чтения. Предлагает преобразовать, но с преобразованным файлом не работает моя программа - пишет неопознанный формат.
Может, откорректировать в аксессе 95-м? только где его взять?

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 13.05.2008 (Вт) 14:57

Al Prad
А есть смысл держать базу в этом формате? Я однажды тоже получил на руки БД таког формата и пришел к выводу, что можно переконвертироваться в новый формат. и довольно безболезненно Конвертнулся. (Даже резервные копии не пригодились)
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Al Prad
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 16.08.2007 (Чт) 12:46
Откуда: Одесса

Сообщение Al Prad » 13.05.2008 (Вт) 15:25

Денис писал(а):Al Prad
А есть смысл держать базу в этом формате? Я однажды тоже получил на руки БД таког формата и пришел к выводу, что можно переконвертироваться в новый формат. и довольно безболезненно Конвертнулся. (Даже резервные копии не пригодились)


Смысл в том, что с таким форматом моя программа на vb6 работает. А с переконвертированным - увы.

Al Prad
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 16.08.2007 (Чт) 12:46
Откуда: Одесса

Сообщение Al Prad » 13.05.2008 (Вт) 16:55

Скачал портейбл-версию 97 оффиса. В аксессе меняю число знаков после запятой для моего поля на 1, но никакого эффекта не наблюдаю. Ноль после запятой все еще самоудаляется; если ввести число с бОльшим количеством знаков (1,1254) - лишние не обрезаются.

Левый оффис или я что-то не так делаю?

Попробовал проделать то же самое в 2003 аксессе. Изменять количество знаков после запятой почему-то тоже не выходит.

Al Prad
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 16.08.2007 (Чт) 12:46
Откуда: Одесса

Сообщение Al Prad » 13.05.2008 (Вт) 19:48

Денис, не заметил, что надо еще задать фотмат поля :oops:
В аксессе все получилось, спасибо за помощь!

Но в моей программе по-прежнему нет незначащих нулей. На форме есть ADO Data контрол и связанные с ним текстбоксы. Для отображения незначащего нуля пробую изменить свойство DataFormat текстбоксов, но выходит сообщение "The dataformat property is not supported for this datasource"

Тупик? или есть выход?

Al Prad
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 16.08.2007 (Чт) 12:46
Откуда: Одесса

Сообщение Al Prad » 14.05.2008 (Ср) 10:41

Нашел.

В событии Data Reposition пишем

Textbox.Text = Format(Textbox.Text, "#0.0##")


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79

    TopList