Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
1

Процедура останавливается на строке

09.04.2012, 13:13. Показов 801. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помощи в определении причины:


Есть процедура для создания текстового файла.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Private Sub Кнопка38_Click()
Const ss = "C:\ase.txt" 'путь и имя файла
Dim table As Recordset
Dim s As String
Dim sss As String
 Set table = CurrentDb.OpenRecordset("Pilga_2", dbOpenDynaset)
 With table
   If Not .EOF Then
     s = Dir(ss, vbNormal)     'найти файл base.txt
     If s <> "" Then Kill (ss) 'если он уже есть, то удалить
     Open ss For Binary As #1 'создать файл base.txt и открыть его на запись
     .MoveFirst                'перейти к I записи запроса Raschet
     While Not .EOF            'заполнить файл данными из запроса Raschet
       
       sss = Format(!Inn, "0000000000")       'собираем строку для записи в файл
       
       'ДАЛЕЕ МОЖНО:
       'If Not IsNull(!FIO) Then s = !FIO + String(50 - Len(!FIO), " ") Else s = String(50, " ")
       'ИЛИ МОЖНО РАВНОЦЕННО:
       ' s = Left$(!FIO + Space(50), 50)
       'Оно короче и будет работать даже если длина ФИО > 50
       'Что ниже и сделано.
       
       s = Left$(!FIO + Space(50), 50)
                               'если FIO не может быть null, то достаточно просто s = !FIO + String(50 - Len(!FIO), " ")
       sss = sss + s
       'If Not IsNull(!LICS) Then s = !LICS + String(15 - Len(!LICS), " ") Else s = String(15, " ")
                               'аналогично
          s = Format(!LICS, "000000000000000")
       sss = sss + s + "00000.0000000.0000000.0000000.00"  'эти 2 поля заполн. другими организ.
       s = Format(!PrGaz * 100, "00000.00")
       sss = sss + s
       s = Format(!СжГаз * 100, "00000.00")
       ' Борис если так,-  s = Format(!СжГаз, "00000.00"), то в текстовом файле будут запятые, а надо точки.
       sss = sss + s + "0000000" 'и так далее.
            
     
       sss = sss & vbCr        'vbCr - для того, чтобы следующую запись начать с новой строки в файле
                               'это если нужно...
       Put #1, , sss
       .MoveNext               'перейти к следующей записи запроса Raschet
     Wend
     Close #1                   'закрыть файл
   End If
 End With
 
End Sub
Вот на этой строке останавливается отладчик, очень прошу помощи.

" sss = Format(!Inn, "0000000000") 'собираем строку для записи в файл "

Чего не достает?
Благодарю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2012, 13:13
Ответы с готовыми решениями:

По Лафору пример, программа останавливается на строке delete[] name;
#include &lt;iostream&gt; #include &lt;cstring&gt; char *getname(void); using namespace std; int main()...

Программа вычисляющая интерполяционный многочлен Ньютона, останавливается при компиляции на 12 строке
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include&lt;math.h&gt; using namespace ...

Процедура: заменить в строке 'А' на 'У'
Нужна программа, считывающая строку с клавиатуры, и с помощью процедуры заменяющая в строке 'А' на...

Процедура, заменяющая символы в строке
Необходимо написать процедуру, которая в строке символов меняет любую цифру на &quot;*&quot;, любую маленькую...

4
8 / 8 / 0
Регистрация: 07.06.2010
Сообщений: 322
09.04.2012, 13:38 2
Какое сообщение об ошибке?
Какое в этот момент значение !Inn ?
0
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
09.04.2012, 14:10 3
В запросе Pilga_2 отсутствует поле Inn
0
0 / 0 / 0
Регистрация: 01.10.2011
Сообщений: 290
09.04.2012, 15:39 4
Михайло, а как ты в ентой строчке
Set table = CurrentDb.OpenRecordset("Pilga_2", dbOpenDynaset)
смог разглядеть, что в запросе Pilga_2 нет поля Inn ???
А мозя енто таблица и в тексте речь идет только об одном запросе - Raschet

Резюме :
Надоть смотреть в окне отладки (вкладка - Локальные) что у него с переменными и объектами. Желательно есчо знать чё компилятор написал в сообщении об ошибке.

У FFFF - есчо прога написана ну уж очень через одно заднепроходное место.
0
1 / 1 / 0
Регистрация: 09.04.2010
Сообщений: 459
09.04.2012, 19:49  [ТС] 5
Михайло, Ваша правда!

Простите деда, зарапортовался и забрехался совсем.....


Тема закрыта.
0
09.04.2012, 19:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 19:49
Помогаю со студенческими работами здесь

Процедура удаления пробелов в строке
Описать процедуру Trim(s), удаяющую в строке S начальные и конечные пробелы. Используя эту...

Процедура определения самого длинного слова в строке
процедура определения самого длинного слова в строке Паскаль

Процедура, возвращающая список подстрок в строке (в Scheme)
Как определить в Scheme процедуру (string-split str sep), возвращающую список подстрок строки str,...

Процедура поиска наиболее частого символа в строке
Помогите пожалуйста с алгоритмом. Вот задание: Дан прямоугольный символьный массив размером 10х30....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru