Сравнить две таблицы в ACCESS 2013 при помощи VBA |
Sub ПОИСК() X1 = 2 X11 = 5984 X2 = 2 X22 = 6292 For XX1 = X1 To X11 Z1 = Sheets(1).Cells(XX1, 7) FL = 0 For XX2 = X2 To X22 Z2 = Sheets(2).Cells(XX2, 7) If Z1 = Z2 Then FL = 1 Next XX2 If FL <> 1 Then Sheets(1).Cells(XX1, 7)=777 End If Next XX1 End Sub
http://www.sql.ru/forum/1300310/sravnit-dve-tablicy-v-access-2013-pri-pomoshhi-vba
|
ADO и локальная таблица Access |
Set obDB = New ADODB.Connection With obDB .Provider = "SQLOLEDB" .ConnectionString = "User ID=...;Password=...;DATA SOURCE=...;INITIAL CATALOG=..." .Open End With Set obReport = New ADODB.Recordset With obReport .ActiveConnection = obDB .Open INSERT INTO tblLocal(F1, F2) SELECT F1, F2 FROM tblServer End With
http://www.sql.ru/forum/1300269/ado-i-lokalnaya-tablica-access
|
проблема совместимости разных версий |
http://www.sql.ru/forum/1300174/problema-sovmestimosti-raznyh-versiy
|
Пример убитой формы |
|
Разноуровневый список: сортировка в запросе |
|
|
http://www.sql.ru/forum/1300098/raznourovnevyy-spisok-sortirovka-v-zaprose
|
Не видит таблицу БД при разделении |
http://www.sql.ru/forum/1300052/ne-vidit-tablicu-bd-pri-razdelenii
|
Маска ввода |
|
sql запрос |
|
Добавление в форму по фамилии, а не по ключу. |
http://www.sql.ru/forum/1299899/dobavlenie-v-formu-po-familii-a-ne-po-kluchu
|
Условие отбора запроса : текущая запись. |
http://www.sql.ru/forum/1299877/uslovie-otbora-zaprosa-tekushhaya-zapis
|
Ошибка подключения к ORACLE после переустановки Win10 |
strCon = "Driver={Microsoft ODBC for Oracle}; Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=******)(PORT=1521))(CONNECT_DATA=(SID=oss))); Uid=***;Pwd=***;"
http://www.sql.ru/forum/1299840/oshibka-podklucheniya-k-oracle-posle-pereustanovki-win10
|
Ленточная форма с полями со списком и вычисляемые поля |
http://www.sql.ru/forum/1299801/lentochnaya-forma-s-polyami-so-spiskom-i-vychislyaemye-polya
|
Запрос - групировка с выводом разных значений в строке |
как сделать так:
NU | USR
1 | 10
1 | 20
1 | 30
2 | 40
2 | 50
NU | USR
1 | 10,20,30
2 | 40, 60
http://www.sql.ru/forum/1299761/zapros-grupirovka-s-vyvodom-raznyh-znacheniy-v-stroke
|
Установка нужной даты |
|
Письмо в Word / замена текста |
Sub imprtMl(mail As Long) Dim Fname, FnameTmp, sql, list As String Dim rs_ml, rs_pl, rs_auth As DAO.Recordset Dim objWord As Object 'Word.Application On Error Resume Next Set objWord = GetObject(, "Word.Application") If objWord Is Nothing Then Set objWord = CreateObject("Word.Application") If objWord Is Nothing Then MsgBox "MS Word is not installed on your computer" End If End If objWord.Visible = True sql = "Select * from pln_mail " Set rs_ml = CurrentDb.OpenRecordset(pln_sql) Set rs_pl = CurrentDb.OpenRecordset("list_for_mail") Set rs_auth = CurrentDb.OpenRecordset("Property Auth") rs_pl.FindFirst "pln_main.ml = " & mail rs_ml.FindFirst "ID = " & mail rs_auth.FindFirst "id = " & rs_ml!reg Do While rs_pl.NoMatch = False list = list & rs_pl!IDobj & rs_pl!type_obj & rs_pl!shortname & _ rs_pl!yr & rs_pl!type_work & rs_pl!type_kpp & _ rs_pl!namemn & rs_pl!KM & rs_pl!type_line & vbCrLf rs_pl.FindNext "pln_main.ml = " & mail Loop FnameTmp = "\\CPS01-FSDFS-01\Files\Documents\Ml_Remarks_01.docx" Fname = "C:\Users\Desktop\testdoc.docx" objWord.Open FnameTmp objWord.Documents.Add (FnameTmp) objWord.ActiveDocument.SaveAs Fname With objWord.Selection.Find .ClearFormatting .Replacement.ClearFormatting .Wrap = objWord.wdFindContinue .Forward = True .Text = "%SPEC%" Do While .Execute = True .Parent.HomeKey Unit:=objWord.wdLine .Parent.MoveDown Unit:=objWord.wdLine, Count:=2, Extend:=objWord.wdMove Loop .InsertAfter rs_auth!ToSpec End With '///////////дальше вдохновение кончилось////////// Set rs_pl = Nothing Set rs_ml = Nothing Set rs_auth = Nothing End Sub
|
On Error не работает |
Private Sub акт_пп_ремкомплект_Click() Dim №заявки, №кса, w As String Dim Data As Date On Error GoTo error1 №заявки = Forms![ФЗаявки]![№заявки] №кса = Forms![ФЗаявки]![КСА].Column(1) Data = Forms![ФЗаявки]![Дата] Me.Dirty = False If Forms![Ф_движениеТС]![Ф_З_акт_пп].Value = True Then Forms![Ф_движениеТС]![акт п/п].SetFocus w = Forms![Ф_движениеТС]![акт п/п].Text Else w = Left(№кса, 2) + "/-Р-" + Right(Data, 2) End If m1: If Forms![Ф_движение РемКомплектов]![Ф_З_акт_пп_рем].Value = True Then Forms![Ф_движение РемКомплектов]![акт п/п №].SetFocus w = Forms![Ф_движение РемКомплектов]![акт п/п №].Text Else w = Left(№кса, 2) + "/-Р-" + Right(Data, 2) End If m2: DoCmd.OpenForm "Ф_движение РемКомплектов" DoCmd.RunCommand acCmdRefresh DoCmd.GoToRecord , , acNewRec Forms![Ф_движение РемКомплектов]![Дата].SetFocus Forms![Ф_движение РемКомплектов]![Дата].Text = Data Forms![Ф_движение РемКомплектов]![акт п/п №].SetFocus Forms![Ф_движение РемКомплектов]![акт п/п №].Text = w Forms![Ф_движение РемКомплектов]![Передан в].SetFocus Forms![Ф_движение РемКомплектов]![Передан в].Text = №кса Forms![Ф_движение РемКомплектов]![Передал].SetFocus Forms![Ф_движение РемКомплектов]![Передал].Text = "Королев" Forms![Ф_движение РемКомплектов]![Основание].SetFocus Forms![Ф_движение РемКомплектов]![Основание].Text = "Ремонт ТС" Forms![Ф_движение РемКомплектов]![Заявка№].SetFocus Forms![Ф_движение РемКомплектов]![Заявка№].Text = №заявки m = 0 Exit Sub error1: Select Case Err.Number Case 13 m = m + 1 w = Left(№кса, 2) + "/-Р-" + Right(Data, 2) If m = 1 Then GoTo m1 Else GoTo m2 End If Case 2450 msg = "Необходимо открыть формы 'Ф_движениеТС, Ф_движение РемКомплектов'" title = "Внимание!" ms = MsgBox(msg, vbOKOnly, title) On Error GoTo 0 Err.Clear Exit Sub End Select End Sub
|
Закрытие формы при помощи API |
'Разместите на форме CommandButton и вставьте следующий код: Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long Private Sub Command_Click() DestroyWindow Me.hwnd End SubПри этом события Unload не происходит, а сразу выполняется событие Close. Что думаете о таком способе закрытия формы? И на сколько он корректен?
http://www.sql.ru/forum/1299549/zakrytie-formy-pri-pomoshhi-api
|
Как хранить, отображать, редактировать конфигурацию (настройки)? |
http://www.sql.ru/forum/1299491/kak-hranit-otobrazhat-redaktirovat-konfiguraciu-nastroyki
|
Невозможно обновить поле |
|
Странная фигня с прилинкованными таблицами |
For Each tb In CurrentDb.TableDefs If Left(tb.Connect, 4) = "ODBC" Then tb.Connect = "ODBC;DRIVER=SQL Server Native Client 10.0;SERVER=Server1;;Trusted_Connection=Yes;APP=Microsoft Office 2016;DATABASE=DB1;" tb.RefreshLink End If Next tb For Each tb In CurrentDb.TableDefs If Left(tb.Connect, 4) = "ODBC" Then tbl_name = Right(tb.Name, Len(tb.Name) - 4) Select Case tbl_name Case "ACC_CQI" db.Execute ("DELETE FROM " & tb.Name & " WHERE(CLV_MOPI_NO in (SELECT CLV_MOPI_NO FROM " & tbl_name & " WHERE(RECORD_VERSION=-1)))") db.Execute ("INSERT INTO " & tb.Name & " SELECT * FROM " & tbl_name & " WHERE(RECORD_VERSION=-1)"), dbSeeChanges db.Execute ("UPDATE " & tbl_name & " SET RECORD_VERSION=0") Case [b]"ACC_BLEND_ARCHIVE"[/b], "ACC_BLEND_ARCHIVE_ORT", "ACC_BLND" rs.Open ("SELECT * FROM " & tb.Name & ""), db, adOpenDynamic, adLockOptimistic If rs.EOF = False Then rs.MoveLast rs.Close db.Execute ("INSERT INTO " & tb.Name & " SELECT * FROM " & tbl_name & " WHERE(RECORD_VERSION=-1)"), dbSeeChanges <= тут ошибку выдает db.Execute ("UPDATE " & tbl_name & " SET RECORD_VERSION=0") End Select End If Next tb
http://www.sql.ru/forum/1299472/strannaya-fignya-s-prilinkovannymi-tablicami
|