Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Просьба помочь найти ошибку в коде (цикл) / 4 сообщений из 4, страница 1 из 1
20.10.2015, 10:14
    #39080906
simply
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просьба помочь найти ошибку в коде (цикл)
День добрый.
Необходимо отправить почту отобранным в запросе получателям. Что-то в цикле не то, отправляет по кругу без остановки. Просьба помочь. Спасибо.
Код: vbnet
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.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
Sub SMTP()
Dim oMSG As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody As String
Dim MailUser As String

Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset


'создаем объект Message это наше письмо
Set oMSG = CreateObject("CDO.Message")
'создаем объект Configuration это настройки соединения
Set oConfig = CreateObject("CDO.Configuration")
Set CFields = oConfig.Fields
Set oMSG.Configuration = oConfig
CFields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mskgate1" 'адрес SMTP сервера
CFields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "SUPPORT@mechel.com" 'Login
CFields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "" 'пароль
CFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
CFields("urn:schemas:mailheader:content-language") = "windows-1251"
CFields.Update

lngIDSoglasDoc = Me.ID_Soglas_Doc

           strSQL = "SELECT tsSotrudnik.Mail" _
                & " FROM Soglas_User_tbl INNER JOIN tsSotrudnik ON Soglas_User_tbl.Sotrudnik = tsSotrudnik.Sotrudnik" _
                & " WHERE Soglas_User_tbl.ID_Soglas_Doc=" & lngIDSoglasDoc & " AND Soglas_User_tbl.NumSoglasovanie=1;"
                rst.Open strSQL, CurrentProject.Connection, adLockOptimistic

If rst.RecordCount <> 0 Then

Do Until rst.EOF
rst.MoveFirst 'Переходим на первую запись набора

MailUser = rst![Mail]

oMSG.To = MailUser 'адрес получателя
oMSG.From = "osmor <@mail.ru>" 'адрес отправителя
oMSG.subject = "Тема" ' тема письма
oMSG.BodyPart.Charset = "windows-1251" ' кодировака письма
'oMSG.AddAttachment "c:VANotesInstaller.log" 'путь к вложенному файлу
'формируем HTML текст который будет телом письма
strBody = "Здесь HTML текст." & _
"C уважением,"
oMSG.HTMLbody = strBody 'тело письма
oMSG.send 'отправляем

rst.MoveNext 'Переходим на следующюю запись набора
Loop
Else
MsgBox "Нет адресов для отправки"
End If
rst.Close

'обнуляем переменные
Set CFields = Nothing
Set oConfig = Nothing
Set oMSG = Nothing
End Sub
...
Рейтинг: 0 / 0
20.10.2015, 10:30
    #39080930
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просьба помочь найти ошибку в коде (цикл)
simply,порядок строк
Код: vbnet
1.
2.
rst.MoveFirst 'Переходим на первую запись набора
Do Until rst.EOF
...
Рейтинг: 0 / 0
20.10.2015, 10:31
    #39080931
simply
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просьба помочь найти ошибку в коде (цикл)
Спасибо.
...
Рейтинг: 0 / 0
20.10.2015, 10:32
    #39080933
akirey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просьба помочь найти ошибку в коде (цикл)
Собственно здесь и есть проблема:
...
Do Until rst.EOF
rst.MoveFirst 'Переходим на первую запись набора
...
loop
...

Каждый раз в цикле переход на первую запись - потому и не выходит.
Переставить переход на первую запись перед началом цикла
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Просьба помочь найти ошибку в коде (цикл) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]