идентификация пользователя |
|
Ошибка синтаксиса в операции JOIN в ACCESS |
SELECT m. iConstituentID, DiffDate ((m.Datedonationbeforereact),(t.Datereact)) FROM ( ( SELECT tTransaction.iConstituentID, tTransaction.dDate AS Datereact, tTransaction.iResponseID, tTransaction.cAmount FROM tTransaction WHERE ((tTransaction.iResponseID)=34) AND ((tTransaction.cAmount)>0) ) AS t INNER JOIN ( SELECT tTransaction.iConstituentID, Max(tTransaction.dDate) AS Datedonationbeforereact, tTransaction.iResponseID, tTransaction.cAmount FROM tTransaction WHERE ( ( (tTransaction.iResponseID)<>34 AND (tTransaction.iResponseID)<>54) AND ( (tTransaction.cAmount)>0)) ) AS m ON t.iConstituentID = m.iConstituentID WHERE ((m.Datedonationbeforereact)<(t.Datereact));
http://www.sql.ru/forum/1295636/oshibka-sintaksisa-v-operacii-join-v-access
|
Многозначные поля (поля, одновременно допускающие несколькнесколько значений). За и против |
|
Не открывается база |
|
Что лучше: запрос на обновление или цикл по Recordset-у? |
http://www.sql.ru/forum/1295286/chto-luchshe-zapros-na-obnovlenie-ili-cikl-po-recordset-u
|
Как в запросе вывести поле, допускающее несколько значений, в составе текста |
|
Microsoft Access создание формы |
http://www.sql.ru/forum/1295250/microsoft-access-sozdanie-formy
|
Как из Access корректно посмотреть папку "Исходящие" в Outlook |
If pOutbox.Items.Count > 0 Then If (pOutbox.Items(pOutbox.Items.Count).Subject = Subj) ThenЧто тут можно придумать, кроме On Error Resume Next ?
Private Function SendIfor(ByVal Subj As String, ByVal Body As String, ByVal Addr As String) As Integer Dim pApp As Outlook.Application Dim pMail As Outlook.MailItem Dim pNS As Outlook.NameSpace Dim pOutbox As Outlook.Folder Dim pSent As Outlook.Folder ' Формируем письмо Set pApp = New Outlook.Application Set pMail = pApp.CreateItem(0) Set pNS = pApp.GetNamespace("MAPI") Set pOutbox = pNS.GetDefaultFolder(olFolderOutbox) Set pSent = pNS.GetDefaultFolder(olFolderSentMail) pMail.To = Addr pMail.Subject = Subj pMail.BodyFormat = 2 ' HTML pMail.HTMLBody = Body ' Отправляем письмо pMail.Send DoEvents ' проверяем, что письмо попало в Исходящие или в Отправленные SendIfor = 1 If pOutbox.Items.Count > 0 Then If (pOutbox.Items(pOutbox.Items.Count).Subject = Subj) Then SendIfor = 0 End If End If If pSent.Items.Count > 0 Then If (pSent.Items(pSent.Items.Count).Subject = Subj) Then SendIfor = 0 End If End If Set pMail = Nothing Set pApp = Nothing Set pNS = Nothing Set pOutbox = Nothing Set pSent = Nothing End Function
http://www.sql.ru/forum/1295219/kak-iz-access-korrektno-posmotret-papku-ishodyashhie-v-outlook
|
Помогите написать запрос |
|
Microsoft Access |
|
помогите найти ошибку , пишет invalid procedure call or argument |
Sub Тонколистовая_прокатка() 'объявление переменных Dim i As Integer 'номер сечения Dim ii As Integer 'номер нейтрального сечения Dim n As Integer 'число разбиений очага деформации Dim h0 As Double 'начальная толщина листа Dim hn As Double 'конечная толщина листа Dim h() As Double 'толщина листа в i-том сечении (массив) Dim St0 As Double 'начальный предел текучести Dim Stn As Double 'конечный предел текучести Dim St() As Double 'предел текучести в i-том сечении (массив) Dim q0 As Double 'уровень заднего натяжения Dim qn As Double 'уровень переднего натяжения Dim R As Double 'радиус рабочего валка Dim a As Double 'коэффициент упрочнения Dim b As Double 'коэффициент упрочнения Dim alfa As Double 'угол захвата Dim fi() As Double 'угол fi (массив) Dim dx() As Double 'dx (массив) Dim P1() As Double 'нормальные напряжения в зоне отставания Dim P2() As Double 'нормальные напряжения в зоне опережения Dim P() As Double 'напряжения для двух зон очага деформации Dim PP As Double 'сумма нормальных напряжений Dim PPP As Double 'полное усилие прокатки Dim K0 As Double 'предел текучести на сдвиг начальный Dim Kn As Double 'предел текучести на сдвиг конечный Dim K() As Double 'предел текучести на сдвиг в i-том сечении Dim m As Double 'коэффициент трения Dim W As Double 'ширина листа 'присвоение переменным числовых значений из ячеек листа Excel h0 = Range("D3").Value 'значение начальной толщины листа hn = Range("D4").Value 'значение конечной толщины листа W = Range("D5").Value 'значение ширины листа St0 = Range("D6").Value 'значение начального предела текучести q0 = Range("D7").Value 'значение уровня заднего натяжения qn = Range("D8").Value 'значение уровня переднего натяжения m = Range("D9").Value 'значение коэффициента трения a = Range("D10").Value 'значение коэффициента упрочнения a b = Range("D11").Value 'значение коэффициента упрочнения b R = Range("D12").Value 'значение радиуса рабочего валка n = Range("D13").Value 'число разбиений очага деформации 'объявление массива ReDim fi(0 To n) As Double ReDim h(0 To n) As Double ReDim dx(0 To n) As Double ReDim St(0 To n) As Double ReDim K(0 To n) As Double ReDim P1(0 To n) As Double ReDim P2(0 To n) As Double ReDim P(0 To n) As Double Stn = St0 + a * ((h0 - hn) / h0) ^ b 'формула(22) Kn = Stn / Sqr(3) 'формула(21) K0 = St0 / Sqr(3) 'формула(19) alfa = 2 * Atn(Sqr((h0 - hn) / (4 * R - (h0 - hn)))) 'формула (8) i = 1 'расчет для зоны отставания от i=1 до i=n 1: fi(i) = alfa * (n - i) / n 'формула(7) h(i) = hn + 2 * R * (1 - Cos(fi(i))) 'формула(6) fi(0) = alfa dx(i) = R * (Sin(fi(i - 1)) - Sin(fi(i))) 'формула(5) St(i) = St0 + a * ((h0 - h(i)) / h0) ^ b 'формула(12) K(i) = St(i) / Sqr(3) 'формула(11) P1(0) = 2 * K0 - q0 * St0 'формула (18) h(0) = h(0) K(0) = K(0) P1(i) = (P1(i - 1) * h(i - 1) - 2 * K(i - 1) * h(i - 1) + 2 * K(i) * h(i)) / (h(i) + 2 * dx(i) * Tan(fi(i)) - 2 * m * dx(i)) 'формула(14) If m * P1(i) <= K(i) Then P1(i) = P1(i) Else P1(i) = (P1(i - 1) * h(i - 1) - 2 * K(i - 1) * h(i - 1) + 2 * K(i) * h(i)) / (h(i) + 2 * dx(i) * Tan(fi(i))) 'формула (15) End If If i < n Then i = i + 1 GoTo 1 End If i = n - 1 'расчет для зоны опережения от i=n-1 до i=ii 2: fi(n) = 0 fi(i) = alfa * (n - i) / n 'формула(7) h(i) = hn + 2 * R * (1 - Cos(fi(i))) 'формула(6) dx(i) = R * (Sin(fi(i)) - Sin(fi(i + 1))) 'формула(5) St(i) = St0 + a * ((h0 - h(i)) / h0) ^ b 'формула(12) <------ ПИШЕТ ЧТО ТУТ ОШИБКА St(n) = Stn K(i) = St(i) / Sqr(3) 'формула(11) P2(n) = 2 * Kn - qn * Stn 'формула(20) h(n) = hn K(n) = Kn dx(n) = 0 P2(i) = (P2(i + 1) * (h(i + 1) + 2 * dx(i + 1) * Tan(fi(i + 1)) + 2 * m * dx(i + 1)) + 2 * K(i) + h(i) - 2 * K(i + 1) * h(i + 1)) / h(i) 'формула(16) If m * P2(i) <= K(i) Then P2(i) = P2(i) Else P2(i) = (P2(i + 1) * (h(i + 1) + 2 * dx(i + 1) * Tan(fi(i + 1)) + 2 * K(i) * h(i) - 2 * K(i + 1) * (h(i + 1) - dx(i + 1)))) / h(i) 'формула(17) End If If P1(i) - P2(i) <= 0 Then ii = i Else i = i - 1 GoTo 2 End If PP = 0 For i = o To n If i < ii Then P(i) = P1(i) Else P(i) = P2(i) End If PP = PP + P(i) Next i PPP = PP * W * alfa * R / n * 10 / 1000000 'полное усидие в МН 'вывод результатов расчета на лист Excel For i = 0 To n Cells(3 + i, 7).Value = i Cells(3 + i, 8).Value = Sqr(R * (h0 - hn)) * i / n 'длина очага деформации Cells(3 + i, 9).Value = P(i) 'контактные нормальные напряжения Next i Cells(3, 11).Value = PPP 'полное усилие End Sub
http://www.sql.ru/forum/1295155/pomogite-nayti-oshibku-pishet-invalid-procedure-call-or-argument
|
RecordSource подчиненной формы |
+ |
Private Sub ПоискПоПолям() Dim strSQL As String Dim rst As Recordset On Error GoTo ErrNumber strWHERE1 = "": strWHERE2 = "" ... ... strSQL = "SELECT * FROM звПоиск" If Not strWHERE1 = "" Then If Not strWHERE2 = "" Then strWHERE = strWHERE1 & " AND " & strWHERE2 Else strWHERE = strWHERE1 End If strSQL = strSQL & " WHERE " & strWHERE Set rst = CurrentDb.OpenRecordset(strSQL) If rst.RecordCount <> 0 Then Me.фпПоискЗаявок.Form.RecordSource = "SELECT DISTINCT * FROM звПоискЗаявок WHERE " & strWHERE1 '???как обновить RecordSource "фпПоискМИЦОВИВ" ' Form_фпПоискМИЦОВИВ.RecordSource = strSQL '- не работает,т.е.обновление не происходит ' Me!фпПоискЗаявок.Controls!фпПоискМИЦОВИВ.Form.RecordSource = strSQL 'ошибка 2455 - Введенное выражение содержит недопустимую ссылку на свойство "Form/Report" ' Me.фпПоискЗаявок.Parent!фпПоискМИЦОВИВ.Form.RecordSource = strSQL 'ошибка 2455 Else Me.фпПоискЗаявок.Form.RecordSource = "SELECT DISTINCT * FROM звПоискЗаявок WHERE [КодЗаявки] Is Null" End If ElseIf Not strWHERE2 = "" Then strWHERE = strWHERE2 strSQL = strSQL & " WHERE " & strWHERE Set rst = CurrentDb.OpenRecordset(strSQL) If rst.RecordCount <> 0 Then rst.MoveFirst strWHERE1 = "[КодЗаявки] = " & rst.Fields("КодЗаявки").Value Do Until rst.EOF strWHERE1 = strWHERE1 & " OR " & "[КодЗаявки] = " & rst.Fields("КодЗаявки").Value rst.MoveNext Loop Me.фпПоискЗаявок.Form.RecordSource = "SELECT DISTINCT * FROM звПоискЗаявок WHERE " & strWHERE1 '???как обновить RecordSource "фпПоискМИЦОВИВ" ' Form_фпПоискМИЦОВИВ.RecordSource = strSQL '- не работает,т.е.обновление не происходит ' Me!фпПоискЗаявок.Controls!фпПоискМИЦОВИВ.Form.RecordSource = strSQL 'ошибка 2455 - Введенное выражение содержит недопустимую ссылку на свойство "Form/Report" ' Me.фпПоискЗаявок.Parent!фпПоискМИЦОВИВ.Form.RecordSource = strSQL 'ошибка 2455 Else Me.фпПоискЗаявок.Form.RecordSource = "SELECT DISTINCT * FROM звПоискЗаявок WHERE [КодЗаявки] Is Null" End If End If rst.Close ' Call Form_фпПоискЗаявок.ПоискПоПолям(strSQL) ' Call Form_фпПоискМИЦОВИВ.ПоискПоПолям(strSQL) ' Me!фпПоискЗаявок.Controls!фпПоискМИЦОВИВ.Requery 'ошибка 2455 - Введенное выражение содержит недопустимую ссылку на свойство "Form/Report" ' Me.фпПоискЗаявок.Parent!фпПоискМИЦОВИВ.Requery 'ошибка 2455 ' Form_фпПоискМИЦОВИВ.Requery '- не работает,т.е.обновление не происходит Me.фпПоискЗаявок.Requery ExitHeare: Set rst = Nothing Erase arrWHERE2 Erase arrWHERE1 Exit Sub ErrNumber: Select Case Err.Number Case 2455 'Введенное выражение содержит недопустимую ссылку на свойство "Form/Report" MsgBox "Процедура: ПоискПоПолям. Форма: " & Me.Name & vbCrLf & _ Err.Description, , "№ " & Err.Number ' Me.фпПоискЗаявок.Parent!фпПоискМИЦОВИВ.Form.RecordSource = strSQL ' Me.фпПоискЗаявок.Parent!фпПоискМИЦОВИВ.Requery ' Me.фпПоискЗаявок.Requery Resume ExitHeare Case Else MsgBox "Процедура: ПоискПоПолям. Форма: " & Me.Name & vbCrLf & _ Err.Description, , "№ " & Err.Number Resume ExitHeare End Select End Sub |
http://www.sql.ru/forum/1295117/recordsource-podchinennoy-formy
|
Присвоение значения текстовому полю по выбранному ключу в combobox в одной форме |
|
UPDATE из VBA в текстовое поле не записывает буквенную строку, но записывает цифровую |
Dim strSQL As String, ss As String ss = "hgg" ' Вариант строки 1 ss = "123" ' Вариант строки 2 strSQL = "UPDATE tbl1 SET tbl1.txt = " & """hgg""" & " WHERE (((tbl1.COD)=2));" ' Работает strSQL = "UPDATE tbl1 SET tbl1.txt = " & ss & " WHERE (((tbl1.COD)=2));" ' Работает только с вариантом 2 DoCmd.RunSQL strSQL
|
Добавление кнопки Фильтр на разделенную форму |
http://www.sql.ru/forum/1295008/dobavlenie-knopki-filtr-na-razdelennuu-formu
|
Экземпляры форм: призываются П-Л, nord-wolf |
me.subfrm.form.recordsource = strsql
me.subfrm.form.Filter = "id=1" me.subfrm.form.FilterOn = true
Set frm = New Form_frmTest
http://www.sql.ru/forum/1294934/ekzemplyary-form-prizyvautsya-p-l-nord-wolf
|
Ошибка с функцией DCount |
|
Изменение данных в таблице с помощью UPDATE |
Private Sub CommandButton1_Click() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim com, tip As String Dim name, author, genre, izd, year, t As String If cn Is Nothing Then Set cn = New ADODB.Connection cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Елена\Desktop\27.05\БД_библиотека1.accdb" cn.Open End If If rs Is Nothing Then Set rs = New ADODB.Recordset End If If rs.State = 1 Then rs.Close End If com = "SELECT * FROM Книги WHERE " name = rs.Fields(1).Value author = rs.Fields(2).Value genre = rs.Fields(3).Value izd = rs.Fields(4).Value year = rs.Fields(5).Value t = rs.Fields(6).Value If (TextBox1.text = name And TextBox2.text = author And ComboBox1.text = genre And TextBox4.text = izd And TextBox5.text = year And ComboBox2.text = t) Then com = "UPDATE Книги SET Вналичие=Вналичие + 1" Else com = "INSERT INTO Книги (Название,Автор,Жанр,Издательство,ГодИздания,ТипПИ)VALUES ('" & TextBox1.text & "', '" & TextBox2.text & "', '" & ComboBox1.text & "', '" & TextBox4.text & "', '" & TextBox5.text & "', '" & ComboBox2.text & "');" rs.Open com, cn TextBox1.text = "" TextBox2.text = "" ComboBox1.text = "" TextBox4.text = "" TextBox5.text = "" ComboBox2.text = "" End If End Sub
http://www.sql.ru/forum/1294893/izmenenie-dannyh-v-tablice-s-pomoshhu-update
|
Программный импорт таблиц из Access |
http://www.sql.ru/forum/1294781/programmnyy-import-tablic-iz-access
|
как программно переименовать таблицу во внешней БД |
DoCmd.Rename "newName", acTable, "oldName", но он для текущей БД
http://www.sql.ru/forum/1294753/kak-programmno-pereimenovat-tablicu-vo-vneshney-bd
|