Вопросы с тегами [access-vba]

1

голосов
2

ответ
57

Просмотры

Requery форма после перекомпоновки таблицы

Я разрабатываю приложение MS-Access с сидящими данными в отдельных серверной базе данных (также MS-Access). Основная форма содержит кнопку, чтобы открыть диалоговое окно настроек, кнопка выхода (как в заголовке формы) и навигационный контроль с несколькими вкладками, показывая субформ в деталях формы. Диалог настроек является всплывающим окном. В диалоговом окне пользователь может изменить путь к внутренней базе данных и все связанные таблицы будут перекомпоновываются автоматически, если пользователь сохраняет настройку. Это работает очень хорошо. Тем не менее, после закрытия диалога, requerying активных подчиненного не имеет никакого эффекта, только если я закрыть и снова открыть форму (например, нажав на другую вкладку) будет это показывать данные из нового (соотнесения базы данных). И я думаю, что это не имеет никакого отношение как-то сделать с моей перекомпоновкой УВОЙ. Я попытался открыть свой подчиненной непосредственно и использовал Linked Table Manager, с тем же результатом. Нажатие на кнопку обновления на ленте ничего не делает, только тогда, когда я изменить дизайн вид и обратно, чтобы сформировать представление, данные в форме будут обновлены. Я также пробовал различные комбинации перекрашивать, обновление и Requery, но безрезультатно. Я использую Requery широко в моем коде, и она работает хорошо, но это, кажется, не после простого переподключения связанных таблиц. Различные базы данных Серверные имеют точно такую ​​же структуру, они просто дублирует с некоторыми записями удалены иметь тестовые случаи. Что тут происходит? С уважением Оливер но это, кажется, не после простого переподключения связанных таблиц. Различные базы данных Серверные имеют точно такую ​​же структуру, они просто дублирует с некоторыми записями удалены иметь тестовые случаи. Что тут происходит? С уважением Оливер но это, кажется, не после простого переподключения связанных таблиц. Различные базы данных Серверные имеют точно такую ​​же структуру, они просто дублирует с некоторыми записями удалены иметь тестовые случаи. Что тут происходит? С уважением Оливер
Oliver Bienert
1

голосов
0

ответ
28

Просмотры

No exclusive rights after removing tables

В MS Access 2007 Я импортировал несколько файлов CSV. Этот импорт действительно создают ошибки импорта, поскольку некоторые поля имеют обширный текст, который не может быть сохранен в мемо поле. Для этих ошибок, MS Access создает новые таблицы с ошибками импорта для каждого файла, который он импортирует. Я создал подводную лодку, которая удаляет таблицы ошибок импорта и, в общем, работает отлично. Что не в порядке является то, что после того, как код запуска я больше не администратор базы данных, и я в первую очередь необходимо закрыть базу данных, прежде чем я смогу продолжить дальнейшее развитие на базе. Sub DelteTbls () On Error GoTo DelteTbls_Error Dim дб Как DAO.Database Dim TDF As DAO.TableDef Set дб = CurrentDb () Установить объект базы данных "Чистые таблицы ошибок импорта. Для каждого TDF В db.TableDefs Если (tdf.Name Like «*» и «импорт» & "*") Тогда DoCmd.DeleteObject воздействующие, tdf.Name End If Next On Error GoTo 0 SmoothExit_DelteTbls: Set дб = Nothing DoCmd.SetWarnings Правда Exit Sub DelteTbls_Error: MsgBox "Ошибка" и Err.Number & "(" & Err. Описание и «) в процедуре DelteTbls» Резюме SmoothExit_DelteTbls End Sub сообщения я получаю после выполнения этого кода является Microsoft Access не может сохранить изменения дизайна или сохранить новый объект базы данных, как другой пользователь имеет открытый файл. Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так? Имя End If Next On Error GoTo 0 SmoothExit_DelteTbls: Set дб = Nothing DoCmd.SetWarnings Истинного Выхода Sub DelteTbls_Error: MsgBox "Ошибка" & err.number & "(" & Err.Description & ") в процедуре DelteTbls" Резюме SmoothExit_DelteTbls End Sub В сообщение я получаю после выполнения этого кода является Microsoft Access не может сохранить изменения дизайна или сохранить новый объект базы данных, как другой пользователь имеет открытый файл. Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так? Имя End If Next On Error GoTo 0 SmoothExit_DelteTbls: Set дб = Nothing DoCmd.SetWarnings Истинного Выхода Sub DelteTbls_Error: MsgBox "Ошибка" & err.number & "(" & Err.Description & ") в процедуре DelteTbls" Резюме SmoothExit_DelteTbls End Sub В сообщение я получаю после выполнения этого кода является Microsoft Access не может сохранить изменения дизайна или сохранить новый объект базы данных, как другой пользователь имеет открытый файл. Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так? Err.Number & «(» & Err.Description & «) в процедуре DelteTbls» Резюме SmoothExit_DelteTbls End Sub Сообщения я получаю после выполнения этого кода является Microsoft Access не может сохранить изменения дизайна или сохранить новый объект базы данных в качестве другого пользователя имеет открытый файл. Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так? Err.Number & «(» & Err.Description & «) в процедуре DelteTbls» Резюме SmoothExit_DelteTbls End Sub Сообщения я получаю после выполнения этого кода является Microsoft Access не может сохранить изменения дизайна или сохранить новый объект базы данных в качестве другого пользователя имеет открытый файл. Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так? Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так? Чтобы сохранить изменения дизайна или сохранить на новый объект, вы должны иметь эксклюзивный доступ к файлу. Это странно, так как я единственный пользователь базы данных и никто другой вошел. Что я делаю не так?
Jasper
1

голосов
0

ответ
54

Просмотры

В Access 2007, как я могу изменить * Design View * Вкладка порядок управления ..?

Там в океан веб-страниц, которые объясняют, как изменить порядок табуляции в Access 2007 формы контроля, как они функционируют в форме представления. Но ... может вкладка порядок управления быть изменен, как они функционируют в режиме конструктора ..? Я клавиатура урод и предпочитаю вкладки с помощью элементов управления в режиме конструктора, а также использовать клавиатуру как можно больше, чтобы настроить свойство элемента управления. Но в сложных формах с большим количеством элементов управления, отсутствие очевидной табуляции может раздражать. Я сейчас работаю в форме с более чем 50 управлением, и если бы я мог табуляцию через них в любом виде узнаваемого того, было бы весьма признателен.
spinjector
1

голосов
1

ответ
237

Просмотры

MS Access Query ColumnHidden недвижимости

Я написал некоторые VBA код, который (а) устанавливает SQL для запроса на основе входных переменных, (б) открывает запрос в режиме таблицы, и (с) скрывает или показывает столбцы на основе «истинных» / «ложных» значений флажки в другой таблице. Это рассматривает свойство «ColumnHidden», как описано в Microsoft Dev Center помощи. Dev Center Помощь - ColumnHidden Property При выполнении кода (а) и (б) работают, как предполагалось. Тем не менее, я получаю ошибку 3270, «Свойство не найдено» на линии fld.Properties ( «ColumnHidden») = False при выполнении (с). Я был не в состоянии решить эту проблему, даже при попытке методы обработки ошибок, описанной в Dev Center. Пожалуйста помоги! Dim rsLabel Как DAO.Recordset, rsCOlumn Как DAO.Recordset Dim qryCPQ Как DAO.QueryDef Dim strLabel As String, strSQL As String, dbOpenSnapshot) Если не rsCOlumn.EOF Тогда Если rsCOlumn! [CPQ_Publish] = False Тогда fld.Properties ( "ColumnHidden") = True End If End If rsCOlumn.Close Set rsCOlumn = Nothing Set FLD = Nothing Next х Набор д.б.н. = Nothing DoCmd. Закрыть acForm, «CM_frmCollectionReportPre», предложение acSaveNo Per Eric Von Asmuth, я уже добавил в обработке ошибок, поэтому код в настоящее время выглядит следующим образом. Тем не менее, я все еще получаю ошибку 3270 на том же месте. Не исправил вещь. Dim rsLabel Как DAO.Recordset, rsCOlumn Как DAO.Recordset Dim qryCPQ Как DAO.QueryDef Dim strLabel As String, strSQL As String, strColumn As String Dim FLD Как DAO.Field Dim д.б.н. Как DAO.Database Dim прп Как DAO.Property Dim AttArray Как вариант Dim х As Integer Const conErrPropertyNotFound = 3270 '
jhalf2008
1

голосов
0

ответ
115

Просмотры

AfterDelConfirm событие не вызывает Microsoft Access VBA

У меня есть два субформа каждых из которых представляет собой таблицу в моей базе данных. Эти субформы отобразить все записи в этих таблицах, и они имеют от 1 до многих отношениях между друг другом. Когда запись будет удалена в родительском подчиненной, она удаляет все дети в другой (у меня есть каскадное удаление в). Мне нужно сделать некоторые обработки в виде ребенка, как только удаление завершено. Я хотел бы использовать это событие AfterDelConfirm, но я не могу заставить его стрелять. Я даже не получить возможность подтверждения удаления (в родительской форме). На самом деле я делаю это вручную: Private Sub Form_Delete (Отмена As Integer) Dim PhaseID As Long Dim ответ As Long Dim стиль Как долго стиль = vbYesNo + vbQuestion Response = MsgBox ( "Вы уверены, что хотите удалить эту фазу и все связанные с сценарии и узлы?»,
Luca Guarro
1

голосов
0

ответ
49

Просмотры

Updating primary key values of Table1 with primary key values of Table2 using SQL

На обеих таблицах Идентификатор_пользователя подана является первичным ключом и критерием является то, что FistName подал значение или MobileNumber подано значение должно совпадать. Таблицы выглядеть следующим образом: + -------- + ----------- + --------------- + + Идентификатор_пользователя + FirstName + MobileNumber + + ---- ---- + ----------- + --------------- + + 100 + Джеймс + 07725252511 + + -------- + ----------- + --------------- + + 210 + Joy + 07721323111 + + -------- + ----- ------ + --------------- + + 31а + Pike + 07820010012 + + -------- + ---------- - + --------------- + у меня есть этот код, который работает, но не обновляет идента подал значение Table1 из-за ошибки клавишных нарушений. Любая помощь здесь? SQL-= "UPDATE Таблица1" & _ "INNER JOIN Table2" & _ "ВКЛ (Table1.FirstName = Table2.FirstName ИЛИ Table1.MobileNumber = Table2.MobileNumber)" & _ "SET Table1.UserID = Table2.UserID," & _ "Table1.Age = Table2.Age;" DoCmd.RunSQL SQL FirstName = Table2.FirstName ИЛИ Table1.MobileNumber = Table2.MobileNumber) "& _ "SET Table1.UserID = Table2.UserID," & _" Table1.Age = Table2.Age; "DoCmd.RunSQL SQL FirstName = Table2.FirstName ИЛИ Table1.MobileNumber = Table2.MobileNumber) "& _ "SET Table1.UserID = Table2.UserID," & _" Table1.Age = Table2.Age; "DoCmd.RunSQL SQL
Rof
1

голосов
1

ответ
64

Просмотры

SQL Update, когда он не в подзапрос?

У меня есть 2 таблицы: tblAbsence Имя Начало Конец Статус Джон 4/2/18 4/5/18 Утверждена Сью 5/1/18 5/10/18 Denied tblManning Дата Необходимое 4/1/18 3 4/2/18 4 4 / 3/18 2 Я хотел бы иметь возможность обновлять tblAbsence.Status на «Approved» до тех пор, пока значение, необходимое во время запроса на отсутствие не превышает произвольный предел (4, например). После рассмотрения @ предложения Джеффри и экспериментировать, я думаю, что мне нужна запрос обновления, который устанавливает [Status] = Approved когда запрос отпуска не найден в запросе ниже. Ниже запрос будет сказать мне, если запрос имеет какие-либо дни, превышающие предел. ВЫБОР tblAbsence.name, tblAbsence.start, tblAbsence.end ОТ tblAbsence, tblManning ГДЕ tblManning.Date> = Int ([tblAbsence]. [Пуск]) И tblManning.Date 3 ГРУППА ПО tblAbsence.name, tblAbsence. [Пуск], tblAbsence .конец; Я переименовал выше запрос в qryLv и попытался это левый Присоединяйтесь, но он говорит мне, что я должен использовать обновляемый запрос ???? Обновление tblAbsence левым Регистрация qryLv L ON L.name = a.name И l.start = a.start SET a.Status = "Approved" WHERE l.name является недействительным;
farmpapa
1

голосов
1

ответ
54

Просмотры

Невозможно повторить обновить все кнопки на панели инструментов быстрого доступа в форме

У меня есть форма с несколько подформом, содержание которых редактируются в отдельных формах, открытых командных кнопками. Когда данные в этих формах обновляются, и закрыли дополнительные формы, естественно, главная форма должна быть обновлена, прежде чем эти изменения могут быть видны. При нажатии на кнопку Обновить все панели быстрого доступа достигает этой цели идеально. Так что я сделал макрос для «получил фокус» событие на главной форме, чтобы обновить его, но ничего не делает. Я пытался перекрасить перезапрос, а также, применяя последнюю конкретно подформ в вопросе, и побежал их из VBA вместо интерфейса доступа к встроенному макро тоже ни один из них не кажется, чтобы решить эту проблему. кодирование VBA: Private Sub Form_GotFocus () Screen.ActiveForm.Requery Screen.ActiveForm.Repaint Screen.ActiveForm.Refresh Me.sfmContact.Requery Me.frmCustCert.Requery Me.frmCustReq. Requery End Sub раздражающее Дело в том, что если я ставлю это (или даже просто макрос или Screen.ActiveForm.Refresh) в по щелчку случае, если один из элементов управления он работает отлично. Просто не может заставить его работать в любых автоматических событиях, которые не требуют мысли или щелчков от конечного пользователя. Этот вопрос является своим родом боян кнопки обновления на форме доступа, но этот вопрос более года назад, и не имеет общепринятый ответа. Таким образом, я расширил на него.
Isaac Reefman
1

голосов
2

ответ
18

Просмотры

Присвоение значения из таблицы Access MS к переменной

Я пытаюсь что-то, что я считаю, должна быть очень простой, но он не работает. У меня повторитель макрос в MS Access, который я хочу использовать для вывода набора данных для ряда файлов. Я потянув текущую запись из моей таблицы CurrentSt, поле StCurr. Существует только одна запись в таблице Для того чтобы включить StCurr во имя выхода, я делаю следующее: Dim VarOutPut As String = VarOutPut CurrentSt.StCurr Я тогда вызывающему VarOutPut в моей команде экспорта. Это работает, когда я установил VarOutPut с фиксированным числом (например, VarOutPut = «1000»), но когда я пытаюсь вызвать значение из таблицы CurrentSt я получаю «Требуется объект» ошибка. Любое руководство будет высоко оценен.
vfreeman
1

голосов
0

ответ
185

Просмотры

Создание файлов PDF в VBA код вызывает доступ к аварийному / закрыть

У меня есть приложение, в 2016 году MS Access, содержащий отчет, который должен быть сохранен в виде файла PDF. Всякий раз, когда пользователь нажимает на кнопку, которая делает вывод в PDF приложение закрывается без предупреждения (аварии). Любая идея, что может привести к этому? Код VBA вызывается нажатием кнопки выглядит следующим образом: DoCmd.OutputTo acOutputReport, "MyReport", acFormatPDF, "\\ MyServer \ моя_папка \ myfilename.pdf"
Brian Battles
1

голосов
2

ответ
172

Просмотры

Dlookup as Control Source for textbox in Navigation Subform

Я искал ответы, и я перетасовал вокруг каждого переменно, кавычки, форма ссылки, все, что я могу думать, чтобы получить это DLookup работать. Вот справочная информация о том, что я пытаюсь сделать здесь: PrimaryRouteID = короткие текстовые данные (ключевой игрок в этом поиска) SignSumtxt & SqFtSumtxt = текстовые поля, где я хочу, чтобы мои значения DLookUp показать (с помощью изменения источника управления в VBA) PrimaryRoadInventoryTotals = запрос, который имеет соответствующую информацию, которую я хочу PrimaryRoadInventoryMaster = форма вложенной в навигационной форме (основная форма использования) Остальное я объясню здесь: Я проектирование функции DLookUp, что находит количество по запросу PrimaryRoad InventoryTotals с помощью PrimaryRouteID взято из текстового поля в форме, которая вложена в форме навигации. Это DLookUp функции в виде сам по себе, но я изо всех сил, чтобы исправить это, чтобы работать в навигационной форме. Это мое понимание того, что, так как я поставил MasterForm в NavForm, теперь вложен в NavSubform, и вы должны ссылаться на значения внутри NavSubform, а не только форма, которую вы работаете. Я, кажется, выяснили правильный синтаксис (я думаю), чтобы получить значение, я хочу, но мой DLookup еще не функционирует, как это необходимо. В приведенной ниже версии, оба Textboxes, которые имеют DLookups возложенные на них есть #name? ошибки. Я не могу за жизнь мне понять, что делать! Код (отделенный для более удобного просмотра): Private Sub RouteSelectCombo_AfterUpdate () SignSumtxt.ControlSource = DLookup ( "[TotalQuantity]", "[PrimaryRoadInventoryTotals]", "! [PrimaryRoadInventoryTotals] [PrimaryRouteID] = '" & [Forms]! [NavigationForm]! [NavigationSubform] .FORM! [PrimaryRouteIDtxt] & " ' ") SqftSumtxt.ControlSource = DLookup ("[TotalSqFt]", "[PrimaryRoadInventoryTotals]", "[PrimaryRoadInventoryTotals]! [PrimaryRouteID] ='" & [Forms ]! [NavigationForm]! [NavigationSubform] .FORM! [PrimaryRouteIDtxt] & «'») End Sub Один странной вещи, которую я заметил, и что может быть показателем того, что здесь не так, что когда я гнезжусь этот код в MsgBox , он будет читать «истина» или «ложь». Не знаю, если это помогает, но полагал, что я бы упомянуть об этом. Я ценю его!
1

голосов
1

ответ
40

Просмотры

формы доступа: Как сохранить включить / отключить опции при доступе к формам

У меня есть форма и некоторые вкладки включаются и выключаются в соответствии с параметрами, выбранных пользователем. Это прекрасно работает. Но когда я перемещаться через мои формы позже, я считаю, что все опции доступны, и пользователь должен снова выбрать выбор, чтобы отключить / включить вкладки условно. Как это преодолеть? Ps Я использовал опцию AfterUpdate (), чтобы включить и отключить вкладки условно
malavika nair
1

голосов
0

ответ
51

Просмотры

Кнопка Добавить запись и затем просматривать / редактировать, что запись специально

Не могли бы вы мне помочь по этому вопросу кодирования. У меня есть 3 формы следующим образом: 1) frmAuditProceduresMain - основная форма, которая включает в себя данные, которые будут использованы в дальнейшем. 2) frmAuditProceduresSummarySubFrom - который является субформ frmAuditProceduresMain упоминался выше. Эта форма включает в себя кнопку, которая запускает код. 3) frmAuditProceduresDetails - отдельная автономная форма, которая открывается при нажатии на кнопку в frmAuditProceduresSummarySubFrom. Оба frmAuditProceduresSummarySubFrom и frmAuditProceduresDetails включает в себя поле, называемое ИмяПроцедуры. Сначала я открываю frmAuditProceduresMain и через него я прямо данные в поле ИмяПроцедуры его подчиненного (чье имя frmAuditProceduresSummarySubFrom), то я нажимаю на кнопку, которая находится рядом с этой записью. При нажатии кнопки frmAuditProceduresDetails следует открыть и как это первый раз, чтобы добавить эту запись, то ИмяПроцедуры, что я только что добавил должно быть добавлен автоматически в ИмяПроцедурах поля frmAuditProceduresDetails вместе с другим полем из frmAuditProceduresSummarySubFrom называется ProcedureID в дополнении к получению данных с полей главной формы (frmAuditProceduresMain). Но если уже существуют записи, мне нужно, когда я нажимаю кнопку, я могу просматривать / редактировать эту запись специально на frmAuditProceduresDetails. Я написал следующий код, но он возвращает все поля frmAuditProceduresDetails как пустые, и я не знаю, почему: Public Sub cmdAuditProceduresDetails_Click () DoCmd.Save Form.Refresh DoCmd.OpenForm «frmAuditProceduresDetails», acNormal,, acFormAdd, acWindowNormal Если формы ! frmAuditProceduresDetails! ProcedureName Me.ProcedureName Тогда Forms! frmAuditProceduresDetails! ProcedureName = Me.ProcedureName Forms! frmAuditProceduresDetails! ProcedureID = Me.ProcedureID Forms! frmAuditProceduresDetails! AuCode = Me.Parent! AuCode Forms! frmAuditProceduresDetails! AuName = Me.Parent! AuName Forms! frmAuditProceduresDetails ! AuditCycle = Me.Parent! AuditCycle DoCmd.RunCommand acCmdRefresh Else DoCmd.OpenForm "frmAuditProceduresDetails",, "ProcedureName = '" & Nz (Me.ProcedureName, "") & "'" End If End Sub Я буду благодарен, если кто может помочь мне относительно этого. С уважением. Raya. AuCode = Me.Parent! AuCode формы! FrmAuditProceduresDetails! AuName = Me.Parent! AuName формы! FrmAuditProceduresDetails! AuditCycle = Me.Parent! AuditCycle DoCmd.RunCommand acCmdRefresh Else DoCmd.OpenForm "frmAuditProceduresDetails",, "ProcedureName =«" & Nz (Me.ProcedureName, "") & "'" End If End Sub Я буду благодарен, если кто-то может помочь мне относительно этого. С уважением. Raya. AuCode = Me.Parent! AuCode формы! FrmAuditProceduresDetails! AuName = Me.Parent! AuName формы! FrmAuditProceduresDetails! AuditCycle = Me.Parent! AuditCycle DoCmd.RunCommand acCmdRefresh Else DoCmd.OpenForm "frmAuditProceduresDetails",, "ProcedureName =«" & Nz (Me.ProcedureName, "") & "'" End If End Sub Я буду благодарен, если кто-то может помочь мне относительно этого. С уважением. Raya.
Mahmoud Raya
1

голосов
1

ответ
303

Просмотры

Подключение к защищенному доступу ACCDB файл кидает «Неверный пароль»

Я пытаюсь подключиться к зашифрованному доступа 2013 файлу ACCDB, который использует устаревшее шифрование через ADOdb процедуру VBA в файл Excel. Процедура проваливает cn.open, я использую офис 64 бит, сообщение об ошибке: «Это не является допустимым Пароль». Особенность этой проблемы, пароль правильный, я могу подключиться к БД Access через Microsoft запрос просто отлично, и я могу соединиться с другим БД доступа с кодом ниже. Но когда я пытаюсь использовать его в Excel, эта ошибка скачки, принять к сведению, я включал те же ссылки на оба доступе и преуспевать редактор VBA. Мой вопрос, как я могу извлечь данные из этого файла защищен паролем доступа через Excel, каждый метод, который я стараюсь терпеть неудачу после того, как я набрал пароль. VBA Процедура Sub LDBViewer2010 () ' Справочник Microsoft ActiveX Data Objects для этого кода на работу Dim сп Как Новый ADODB.Connection Dim Rs As New ADODB.Recordset Const conDatabase As String = "E: \ 1.accdb" 'Открыть соединение для доступа к серверной cn.Open «Provider = Microsoft .ACE.OLEDB.12.0; Источник данных =»& conDatabase & "; Упорство Security Info = False; Jet OLEDB: Database Password = 'asd123';" 'Open Set Recordset Rs = cn.OpenSchema (adSchemaProviderSpecific, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")' Вывести список полей Debug.Print rs.Fields (0) .Name, "|", РТС. Поля (1) .Name, "|", rs.Fields (2) .Name, "|", rs.Fields (3) Loop .name»через пользователей записей пользователей в базе данных. Пока не rs.EOF Debug.Print уравновешивания (rs.Fields (0)), "|", Обрезка (rs.Fields (1)), "|", Отделка (rs.Fields (2)), "|", не Обрезка (rs.Fields (3)) rs.MoveNext Венд "Закрыть Если Rs.State adStateClosed Тогда rs.Close Set Rs = Nothing Set сп = Nothing End Sub Я очень ценю ваше время и помощь. -Edit 1- Использование Debug.Print CurrentProject.Connection.ConnectionString в Access: Provider = Microsoft.ACE.OLEDB.12.0; идентификатор пользователя = Admin; Data Source = E: 1.accdb; Mode = Поделиться Deny None; Extended Properties =» «; Jet OLEDB: база данных System = C: \ Users \ User \ AppData \ Roaming \ Microsoft \ Access \ System.mdw; Jet OLEDB: Registry Path = Software \ Microsoft \ Office \ 15.0 \ Access \ Access Connectivity Engine; Jet OLEDB: База данных Password = ""; Jet OLEDB: Тип двигателя = 6; Jet OLEDB: Database Запирание Mode = 0; Jet OLEDB: Global Частичные Объемные Ops = 2; Jet OLEDB: Global Bulk Транзакции = 1; Jet OLEDB: Новая база данных Password =» «; Jet OLEDB:
Lybren
1

голосов
0

ответ
27

Просмотры

Macro для запуска запроса с заданной переменной

Я пытаюсь написать несколько VBA кода, который будет экспортировать запрос MS Access. Я хотел бы, чтобы запустить все это изнутри Excel на источник из базы данных я не понимаю и не хочу вмешиваться. Я просто знаю, что я должен выполнить запрос и экспортировать его. Это достаточно просто, если запрос не зависит от значения пользовательского ввода для запуска (EG начала / дата окончания), но если ему потребуется ввод я не могу найти хороший способ сделать что устанавливаются автоматически. Я видел некоторые умные варианты здесь: https://bytes.com/topic/access/answers/466248-can-i-pass-parameters-macro-query A) Ввод SQL, лежащий в основе запроса в рамках VBA, но может быть очень громоздким, особенно с большими запросами, которыми я не знаком с. И ТВН я не совсем понимаю, кодирование за IT-, но это только мне лень ... B) Используйте форму, на которой можно записать нужный ценностно снова громоздким, а также я не могу изменить код запроса. Но я предпочел бы что-то вдоль линий: cmdRun (QueryX, param1, param2). Это желаемое за действительное?
AKA
1

голосов
1

ответ
28

Просмотры

Добавление имени для Диапазон дат Поиск. MS Access, VBA

Так что я делаю базу данных дефектов в MS Access для работы, и я работаю на форме поиска, чтобы найти конкретные дефекты сотрудников между конкретными датами. У меня уже есть поиск диапазона дат работы с кнопки, но я не понял, как добавить мой EmployeeNameBox в результате фильтрации. Это то, что у меня есть. Private Sub Searchbtn_Click () Me.Filter = "[DayMonthYear] BETWEEN #" & Me.Date1Filt & "# AND #" & Me.Date2Filt & "#" Me.FilterOn = True End Sub Работает отлично подходит для диапазона дат, я хочу, но мне нужно, чтобы добавить в имя сотрудника, а также. Любая помощь приветствуется.
B McNabb
1

голосов
1

ответ
159

Просмотры

Runtime error 3134 "Syntax Error in INSERT INTO statement (Access VBA)

Я новичок в VBA и я пытаюсь запустить вставку в запрос из 2 таблиц с выбранными полями с помощью VBA. Однако, когда я запускаю код я получаю ошибку ошибка = Runtime 3134 «Ошибка синтаксиса в инструкции INSERT INTO заявлении Не уверен, где вопрос может кто-то пересмотреть код и сообщить код -.? Public Sub sub_import_IDP_Data () Dim str_query As String Dim rs_filelist Как Recordset Set rs_filelist = CurrentDb.OpenRecordset ( "tbl_IDP_Filenames") str_query = "INSERT INTO tbl_IDP_Import" str_query = str_query & "SELECT" str_query = str_query & "tbl_IDP_Import_Temp.PRI_INDEX А.С. [PRI_INDEX]" str_query = str_query &», tbl_IDP_Import_Temp.ROUTING_SET С. [ROUTING_SET] "str_query = str_query &", tbl_IDP_Import_Iemp.
SKK
1

голосов
1

ответ
107

Просмотры

MS Access export Union Query to Excel, VBA problems

I am not a programmer but I am building a Access database for work. The database is working ok now, but I am struggling to export one important Query to excel. Thank you for the help and sorry for bad practices and probably many syntax errors. From the Union Query below named "Rework Flow Until Today", I created one query to group by Product Code named "Rework Flow Until Today Query", then another query to add columns to make some calculation which I wish to export to Excel. The Query I need to export is named "Export Query" . It looks like this: (Product / Start Rework Stock / Used Rework / New Rework / Total rework ) These are calculated fields from the data obtained in Union Query and then Grouped query. Here is the union query code: SELECT DISTINCTROW Batch.[Production Date], Products.[Rework Family] AS [Product Code], Batch.[Rework Used] AS [Rework Used TODAY lb 1], Batch.[Support row] AS [Rework Used YESTERDAY lb 1], Batch.[Support row] AS [Rework Used TODAY lb 2], Batch.[Support row] AS [Rework Used YESTERDAY lb 2], Batch.[Support row] AS [New Rework TODAY lb], Batch.[Support row] AS [New Rework YESTERDAY lb] FROM Batch INNER JOIN Products ON Batch.[Rework Product] = Products.[Product ID] WHERE (((Batch.[Production Date])=[Forms]![01 Production Batch Form]![Today Date])) UNION ALL SELECT DISTINCTROW Batch.[Production Date], Products.[Rework Family] AS [Product Code], Batch.[Support row] AS [Rework Used TODAY lb 1], Batch.[Rework Used] AS [Rework Used YESTERDAY lb 1], Batch.[Support row] AS [Rework Used TODAY lb 2], Batch.[Support row] AS [Rework Used YESTERDAY lb 2], Batch.[Support row] AS [New Rework TODAY lb], Batch.[Support row] AS [New Rework YESTERDAY lb] FROM Batch INNER JOIN Products ON Batch.[Rework Product] = Products.[Product ID] WHERE (((Batch.[Production Date])
Guilherme Brum
1

голосов
2

ответ
49

Просмотры

VBA Закрыть текущую форму и вернуться в другой форме на Новый рекорд

У меня есть две формы в моей базе данных доступа, «Настройка формы» и «Final Form». На «Final Form», есть кнопка, при нажатии на которую я хотел бы, чтобы закрыть текущую форму и откройте форму корректирующей к новой записи. FYI- Форма регулировки будет, вероятно, уже открыта, так что если это так, то просто закрыть «Final Form» и перейти к новой записи. Вот то, что я до сих пор: Private Sub Command438_Click () DoCmd.RunCommand acCmdSaveRecord DoCmd.Close DoCmd.GoToRecord, «Форма Adjustment»,, acNewRec End Sub Однако, когда я запускаю это, я получаю ошибку «Вы не можете пойти указанная запись». Любая идея, как это исправить?
Darren
1

голосов
1

ответ
31

Просмотры

Как получить идентификатор поля из записей?

Private Sub btnAdd_Click () Dim RST As New ADODB.Recordset С RST Open "SELECT * FROM tblStandardFolders2009 WHERE StandardFoldersID = 0", fnCNN, adOpenDynamic, adLockOptimistic .AddNew! Описание = Me! TxtAddGeneric! MakeNewContract = False .update fnStandardFolders2009ID (RSD! StandardFoldersID ) .close End With Set RST = Ничто Этот код добавляет запись одной из моих таблиц. Мне нужно, чтобы получить первичный ключ после того, как он добавил, так что я могу использовать его в другом методе. RSD! StandardFoldersID "пустой" в соответствии с Access. Есть идеи? EDIT: С помощью «SELECT @@ IDENTITY» потом делает работу, но это не является надежным, и я знаю, что есть более эффективные способы.
J Doe
1

голосов
1

ответ
43

Просмотры

Как Автозаполнение Textboxes на бланке с помощью цикла?

Таким образом, у меня есть таблица, которая имеет список итоговых им пытается отобразить на форме, у меня есть 10 итогов, мне нужно, чтобы получить из таблицы итоговых и отображения в 10 текстовых полей на форме. В 10 Textboxes являются "A1, A2, A3 ..." и ее использование DLookup, чтобы найти номер ID поля. Похоже, что его вопрос синтаксического с Me.TEXTX & X1.Value хотя я не знаю, как еще я могу ввести его. Надеюсь, что это имеет смысл. Спасибо! Private Sub UPDATETOTALS () дим FORMX As String FORMX = "ГРИД" дим TEXTX As String TEXTX = "A" DIM TABLENAMEx As String, FINDFIELDx As String, GETFIELDx As String TABLENAMEx = "GRID_TOTALS" FINDFIELDx = "[ID] =" GETFIELDx = "СЕГОДНЯ" Dim X1 As Integer Для Х1 = от 1 до 10 Me.TEXTX & X1.Value = DLookup (GETFIELDx, TABLENAMEx, FINDFIELDx &
LTCO
1

голосов
2

ответ
30

Просмотры

Сумма между датами в VBA

Код здесь не работает на процессе в totaldate, как я проверил это не вычитать из date1 и date2, но у них уже есть свои ценности, такие, как Text1 = 2/10/2019 Text2 = 2/8/2019 Я пытаюсь вычесть две даты из двух Текстовое поле Text1 и Текст2, я уже убедиться, что их формат короткий срок. Я делал это только totaldate = Текст1 - Text2, но он не работает либо Sub TGL () date1 = Текст1 date2 = Text2 totaldate = date1 - date2 штрафа = totaldate * 50 End Sub В этом выводе при подведении всех дат и он получил 2 дня осталось, как вы вычитать Text1 и Text2, а затем умножить на 50, так что вы получите значение переменной штрафа = 100
Happy Dog
1

голосов
1

ответ
53

Просмотры

How to Delete multiple selected records on Access?

Я довольно новыми для VBA и доступа, но я поставлена ​​задача быть в состоянии сделать форму на доступ, который может удалить несколько выбранных записей без использования пользовательского элемента управления и удаления запроса. В основном пользователь выбрал (путем выделения) пожелавшие записями с селектором записи и мне нужно добавить код VBA для удаления кнопки, которая удалит все выбранные записи, но когда я делаю это только первая запись удаляется. Как сделать подсвеченные записи активных записей и удалить их все сразу? Я предполагаю, что мне нужно будет цикл какой-то, что-то помогает, спасибо! Ладно, ребята, извините, я взял некоторое время, чтобы вернуться, но я просмотрел некоторые из ваших внушения ссылок и это то, что у меня есть: intHeight = Me.Form.SelHeight intTop = Me.Form.SelTop Dim N As Integer С Me.Form. RecordsetClone Если .RecordCount <1 Then MsgBox " Может кто-нибудь сможет помочь мне? К сожалению, ребята, у меня возникают проблемы с этим сайтом и блок кода XD Еще раз спасибо вам, ребята
F.Lost
1

голосов
1

ответ
25

Просмотры

MS Access, используя функцию в качестве критериев, указанных в запросе на выборку

У меня есть настройка отчетов с рекордным источником одного из моих запросов на выборке. То, что я хочу сделать, это на моей форме имеет ряд кнопок для каждого менеджера, который при нажатии открывает отчет с выбрать критерии запроса, установленные на имя менеджера. На нажатия кнопки у меня есть: Dim MgrName As String MgrName = "Smith" Вызов функции теста (MgrName) DoCmd.OpenReport "R_Test_Logout_10", acViewReport также: Public Function функции теста (MgrName) Если MgrName = "Smith" Тогда функции теста = "Смит, Джо" End If End Function Когда я пытаюсь поставить функции теста в критерии в запросе выборки я либо получить ошибку неверное число аргументов или если я ставлю его в качестве: функции теста (MgrName) ... это авто вставки кавычки: функции теста ( "MgrName")
Timeetyo
1

голосов
1

ответ
33

Просмотры

Автоматическое изменение ссылку таблицы (VBA) в Acces из MariaDB через ODBC

Мне нужно повторно связать таблицы в VBA из MariaDB SQL через ODBC для доступа. Я нашел несколько ниже код, но он не работает. Когда я запускаю это его ничего не происходит. Re-связь необходима, когда в SQL я добавить столбец не отображается в Access. Когда я вручную таблицу повторно ссылку она появляется. Этот код был для Postgresql, не MariaDB. Может быть, это нужно некоторые исправления ... Sub refreshLinked_MariaDB () Dim CDB Как DAO.Database, TBD Как DAO.TableDef Set CDB = CurrentDb Для каждого ТБД В cdb.TableDefs Если tbd.Connect Как «ODBC; Driver = {MariaDB ODBC Driver 3.1 *»Тогда Debug.Print "Освежающий [" & tbd.Name & "] ..." tbd.RefreshLink End If Next Debug.Print "Готово". Набор TBD = Nothing Set CDB = Nothing End Sub Update: После того, если функция редактирования повторно ссылка работает нормально, но некоторые из таблиц становятся «только для чтения», это означает, что я не могу добавить или изменить какие-либо записи. После удаления этих таблиц и ссылка руководства - работает отлично. Есть идеи?
Julian
1

голосов
1

ответ
25

Просмотры

MSAccess: Select * В для CSV-файла в другом пути

Мне нужно скопировать данные CSV в таблицу Access. TransferText работает, как ожидалось, но гораздо медленнее, чем «Select * Into». 500K записей, 43 колонок (не мои данные). Следующие работы по мере необходимости, но только тогда, когда файл CSV находится на том же пути, что и базы данных (strPath, в данном случае). strFile = "TestFile.CSV" strPath = CurrentProject.Path strPath2 = CurrentProject.Path & "\ Backend_Data \" strSQL = "SELECT * INTO TempItem ОТ [Текст; HDR = NO; FMT = разделителями (,); базы данных =" & strPath & "] [" & strFile & "];" db.Execute (strSQL) Файл CSV будет посадка в strPath2 (\ Backend_Data). Добавление strPath2 к strSQL выше, в передней части strFile, не работает или жалуются. Это вопрос синтаксиса SQL, или мне просто нужно сохранить файл CSV в том же пути, что и базы данных?
Mark Pelletier
1

голосов
3

ответ
3.4k

Просмотры

Средний, граф, и т.д. вся колонка таблицы в SQL-запросе или в качестве функции в VBA для отображения результатов в форме?

Мне нужно, чтобы вычислить граф, средний и пару других вещей из столбца в результате запроса, а затем поместить результат в текстовом поле в форме. Я думал о том, как ее реализации в запросе и сдачи результатов в столбец или что-то подобное, или использовать функцию VBA, чтобы вычислить его; Однако я не знаю, как вычислить это для всего столбца в VBA. Любые предложения / примеры?
Nick Sinas
1

голосов
1

ответ
2k

Просмотры

Есть ли какая-либо причина использовать ENUM-е в VBA?

Я пытался использовать Перечисление в моем коде для Access 2007. Но это очень неудобно. Может быть, лучше использовать коллекции? Мой код не работает такой, как я думал, что это было бы полезно. Public Function GetEnumId (Name As String, ReferenceTable As String) As Long Dim RS Как DAO.RecordSet Set Rs = CurrentDb.OpenRecordset ( "Select * From" и ReferenceTable & _ "Где Name = '" & Name & "'") GetEnumId = RS ( "ID") rs.Close End Function 'не работает из-за неправильного типа Params Public Function GetEnumName (ID As Long, ReferenceTable As String) As String Dim RS As DAO.RecordSet Set Rs = CurrentDb.OpenRecordset (» SELECT * FROM "& ReferenceTable &
Igor Konoplyanko
1

голосов
2

ответ
1.3k

Просмотры

Форма Dynamic Access

Я создаю динамическую форму в Access 2003. Каждый раз, когда открывается вид комбинированные окна создаются на основе таблицы «ключевых слов.» Мой код возникли проблемы с удалением старых ящиков (или их ярлыки, я не уверен), и каждое отверстие после того, как первый получает вешали на повторяющихся имен (ошибка времени выполнения «2450»). Во-вторых, переход таблица проведения «галочка» ключевые слова будут пополняет при низкой конечной суммы. В-третьих, я не могу понять, как для заполнения поля со списком на основании записей стык таблицы. При загрузке формы коробки всегда бесконтрольно. Спасибо за любую помощь!
Eric D. Johnson
1

голосов
2

ответ
679

Просмотры

Access 2007 Visual Basic Код Subversioning

Есть ли способ версии модулей VBA внутри базы данных Access 2007, или я просто застрял с экспортом кода и держать его отдельно от базы данных и поддержания два разных копий?
Dustin
1

голосов
1

ответ
3.4k

Просмотры

Создать PDF из базы данных объекта и отправить его по электронной почте

В VBA для Access 2007 Я хотел бы создать документ PDF и электронную почту, что документ к кому-то. Как бы идти о создании документа PDF в VBA?
Sally
1

голосов
1

ответ
191

Просмотры

Function performance different when run from an Access form

У меня есть процедура SQL хранится, что я вызов с использованием функции VBA, которая заполняет два поля формы MS Access. Вся цель при помощи хранимой процедуры вызова в том, что запрос на выборку, при запуске в Access занимает 8-10 секунд, чтобы вернуть значения. Хранимая процедура = при запуске в SQL MGT студии Retruns значение в <1сек. Функция возвращает значения в окне Visual Basic «Срочный» в течение примерно 1-2 секунд. Но, когда я вызываю функцию (которая вызывает хранимую процедуру) она занимает 8-10 секунд, чтобы вернуть значения в Access form- победить всю мою цель использования хранимой процедуры. Вот функция: Option Compare Database Option Explicit Public strTrack As String Public strBar As String Public strProf As String Public strFac As String Public Function SP_Barcode (MyParam As String) Dim MyDB As DAO. Закрыть Set MYDB = Nothing Set ФРК = Nothing End Function Есть ли причина, я бы к снижению производительности при выполнении функции от формы доступа? Спасибо!
bill
1

голосов
1

ответ
5.7k

Просмотры

Как изменить форму в Access через код?

Я хочу, чтобы переместить форму в левой части экрана в Access 2007 в случае OnOpen. Я не нашел, как это сделать с помощью свойства формы, так как верхний и левый свойства, кажется, только для чтения с помощью кода во время выполнения. Мне нужно вызвать методы API, чтобы переместить форму в Access в другую позицию на экране делать? Есть быстрый способ сделать это?
Alex
1

голосов
2

ответ
6.5k

Просмотры

How to set the value of an unbound textbox with a default value to an empty string with Access VBA

У меня есть база данных с информацией о посетителях нашего отдела. Вот мои настройки: пользователь выбирает имя посетителя из списка. Доступ присваивает значения из записи этого посетителя временных переменных и открывает несвязанную форму, где эти переменные значения по умолчанию в текстовом поле. Когда пользователь изменяет значение в текстовом поле, After_Update событие использует SQL для обновления соответствующего поля в записи этого посетителя и присваивает новое значение временной переменной. After_Update пример: Dim strRUN As String = strRUN updateVisitorOnDirty (Me.txtVisitorTravelMethod, "VisitorTravelMethod", 1) HideWarnings (strRUN) TempVars strVisitorTravelMethod = Nz (Me.txtVisitorTravelMethod.Value, "") "updateVisitorOnDirty"! это функция, которая возвращает SQL для обновления поля (указывается во втором аргументе) в таблице с информацией для посетителей с первым аргументом. (Число в конце концов, это говорит, что это строка.) «HideWarnings» поворачивает предупреждения выключен, выполняет SQL, а затем поворачивает обратно на предупреждения. Моя проблема: Когда пользователь очищает текстовое поле, событие After_Update делает текстовое поле вернется в предыдущее значение. Я сначала подумал, что, возможно, несвязанный текстовое поле возвращалась к своему значению по умолчанию, когда он был снят, но я поставил точку останова в суб, что пожары во After_Update: Если изменить значение в MyTextBox от а до Ь, Debug.Print показывает значение MyTextBox как б. Если изменить значение в MyTextBox от а до (пробел или пустая строка), Debug.Print показывает значение MyTextBox до сих пор равняются. Мой обходной путь был включить немного «х» рядом с текстовым полем, что пользователь может нажать 1) очистить текстовое поле, 2) обновить временную переменную, и 3) обновить таблицу. Он отлично работает, но мне кажется, что там должно быть лучше. Помогите? Пожалуйста, дайте мне знать, если вам нужна любая другая информация, или если я в противном случае повторно слово это. Я приезжаю сюда все время для ответов, но это первый раз, когда я на самом деле представил свой собственный вопрос. Спасибо! (Я редактировал это сделать код правильно отображаться ... не оставил линию раньше.) Ве фактически представил свой собственный вопрос. Спасибо! (Я редактировал это сделать код правильно отображаться ... не оставил линию раньше.) Ве фактически представил свой собственный вопрос. Спасибо! (Я редактировал это сделать код правильно отображаться ... не оставил линию раньше.)
robbins4
1

голосов
1

ответ
294

Просмотры

Как перейти от одной записи к другой

Я создал функцию OnClick, которая должна выполняться оператором SQL, выберите URL-адрес из заявления и открывает Excel файлы последовательно с URL. Это работает, но если запрос возвращает 3 результатов, то он открывает те же Excel файл в 3 раза. Вместо того чтобы открыть один файл после того, как другой открывает тот же файл. Это то, что у меня есть: Dim strSQL As String Dim RS Как DAO.Recordset Dim дб В базе данных Dim appexcel Как установить объект дб = CurrentDb () strSQL = "SELECT * из [PROCESSED_CONTRACTS_PRINTALL]" Set Rs = db.OpenRecordset (strSQL) urlval = RS! URL rs.MoveFirst Do До rs.EOF Set appexcel = CreateObject ( "Excel.Application") appexcel.workbooks.Open urlval appexcel.Visible = True rs.MoveNext Loop rs.Close Set Rs = Nothing End Sub Любая помощь, пожалуйста, ? Благодарю.
elstiv
1

голосов
3

ответ
2.9k

Просмотры

Как сохранить вычисленные значения в MS Access

У меня есть текстовое поле в форме, которую я создал. Я хочу, чтобы добавить выражение в Control Source собственности текстового поля в. Я также хочу, чтобы связать текстовое поле с полем таблицы, используя Control Source propety текстового поля. Есть ли способ, я могу добавить имя поля и выражение в источнике управления собственностью конкретного текстового поля? Выражение в основном добавляет пару чисел и отображает результаты в этом текстовом поле. И я хочу, вывод должен храниться в поле в таблице.
Ish
1

голосов
2

ответ
863

Просмотры

SQL SELECT запрос на соответствующей таблице

У меня есть вопрос, на который я нашел довольно длинное решение которого я не думаю, что это хорошая практика. Тем не менее, я чувствую, что должен быть синтаксис, который может в состоянии решить эту проблему сразу же, не слишком много сложностей. Я столкнулся с этой проблемой несколько раз уже, и я хотел бы знать, раз и навсегда. У меня есть таблица под названием «T_STOP_LOSS», в котором у меня есть три колонки «LIVES_FROM», «LIVES_TO» и «SL_VALUE» (Все типы + номер столбца, содержащего идентификатор с типом AutoNumber). Я хочу, чтобы получить запись, содержащую SL_VALUE, где переменная величина находится в интервале между LIVES_FROM и LIVES_TO. ID LIVES_FROM LIVES_TO NR_COUNTRIES_FROM NR_COUNTRIES_TO SL_VALUE 1 0 999 2 2 39,3 12 0 999 3 3 34,6 23 0 999 4 4 29,6 34 0 999 5 9 25, 7 45 0 999 10 100 22,17 46 1000 1499 2 2 31,1 2 1000 1499 3 3 27,4 13 1000 1499 4 4 23,3 24 1000 1499 9 5 20,4 35 1000 1499 10 100 36 17,5 1500 1999 2 2 23,6 47 1500 1999 3 3 3 20,7 1500 1999 4 4 17,7 14 1500 1999 5 9 25 1500 15,4 1999 10 100 26 2000 13,3 2999 2 2 23,6 37 2000 2999 3 3 20,7 48 2000 2999 4 4 4 17,7 2000 2999 5 9 15 2000 15,4 2999 10 100 13,3 Обычно я хотел бы использовать: lNr_Lives = «(Получено с помощью Textbox) sSQL_Select =«SELECT SLVALUE ОТ T_STOP_LOSS WHERE LIVES_FROM = "& LNr_Lives & ";" Тем не менее, LIVES_FROM и LIVES_TO связаны таблицы NR_LIVES через внешний ключ. Приведенное выше утверждение никогда не будет работать, так как таблица " NR_LIVES»содержит поле ID в качестве первичного ключа, который используется для связи с таблицей T_STOP_LOSS. (Столбцы NR_LIVES названы: ID, NR_LIVES_FROM и NR_LIVES_TO (не то, что это имеет значение)). ID NR_LIVES_FROM NR_LIVES_TO 1 0 999 2 1000 1499 3 1500 1999 4 2000 2999 Скажите, пожалуйста, что бы вы считаете кратчайшим способом получить доступ к реальной стоимости LIVES_FROM и LIVES_TO, который хранится в таблице NR_LIVES и получить мой ЗЕЬЕСТ работает как я ожидал (Вернуть запись, которая содержит SL для правого интервала). Я надеюсь, что мой вопрос ясен. Если нет, не стесняйтесь упомянуть. ID NR_LIVES_FROM NR_LIVES_TO 1 0 999 2 1000 1499 3 1500 1999 4 2000 2999 Скажите, пожалуйста, что бы вы считаете кратчайшим способом получить доступ к реальной стоимости LIVES_FROM и LIVES_TO, который хранится в таблице NR_LIVES и получить мой ЗЕЬЕСТ работает как я ожидал (Вернуть запись, которая содержит SL для правого интервала). Я надеюсь, что мой вопрос ясен. Если нет, не стесняйтесь упомянуть. ID NR_LIVES_FROM NR_LIVES_TO 1 0 999 2 1000 1499 3 1500 1999 4 2000 2999 Скажите, пожалуйста, что бы вы считаете кратчайшим способом получить доступ к реальной стоимости LIVES_FROM и LIVES_TO, который хранится в таблице NR_LIVES и получить мой ЗЕЬЕСТ работает как я ожидал (Вернуть запись, которая содержит SL для правого интервала). Я надеюсь, что мой вопрос ясен. Если нет, не стесняйтесь упомянуть.
Trace
1

голосов
2

ответ
3.7k

Просмотры

Скрытие полей отчета о печати

В базе данных Access 2003, у меня есть отчет об статусе работника / обратной связи, который генерируется через VBA. Я создаю отчет в VBA, так как желаемое форматирование отчета таким образом, что я нашел, что это будет легче для меня, чтобы сделать это таким образом (объединение нескольких наборов записей, отображающую более одной записи из записей в соответствии с другими, настраивая некоторые элементы форматирования, основанные на кафедре, и т.д.). Там может быть лучшим способом для создания этих отчетов, но это работает просто отлично, так что я предпочел бы избежать воссоздания, если это возможно. Моя проблема заключается в следующем: Как это форма обратной связи сотрудника, есть детали, которые руководители хотят, чтобы иметь возможность видеть, но не показывают работник. Когда генерируется отчет, руководитель имеет возможность просмотреть данные / внести изменения из самого отчета (через UserForms, обработка событий в отчете). Часть обзора заключается в том, чтобы посмотреть на один набор полей (добавляются в отчет как этикетки), но эти поля должны быть скрыты, если отчет в конечном счете печатается. В моей голове, я думал, что я видел способ, чтобы скрыть конкретные элементы управления таким образом, и сделал некоторые прибегая к помощи, чтобы найти этот ресурс MSDN на DisplayWhen. Тем не менее, представляется, что DisplayWhen используется только на формах. Есть ли способ, чтобы установить это значение (или аналогичный / соответствующий параметр) с использованием отчетов? Выполнить поиск на SO, я нашел только один единственный вопрос в запросе для DisplayWhen, который не был полезен для меня. Использование .Visible = False о создании отчета доклада не будет работать, потому что руководители должны видеть эти поля. Это не кажется, что я могу установить это свойство при печати, так как я не вижу обработки событий варианта. Могу ли я создать пользовательский обработчик событий, который будет фиксировать команду печати? Вот код создания управления: Private Sub AddOneOnOneField (Rpt Как Report, Left As Integer, Top As Integer, ширина As Integer, Height As Integer, _ Опция Cap As String = vbNullString, Факультативного Align As Integer = cnFontCenter, Факультативный Размер As Integer = 10, _ Дополнительный Bold As Integer = cnBoldFont, Факультативным DisplayWhen As Byte = 0) С CreateReportControl (Rpt.Name, acLabel, acDetail, vbNullString, vbNullString, _ Left, Top, Width, Height) .Properties ( "FontSize") = Размер .Properties ( "FontWeight") = Жирный .Properties ( "BorderStyle") = 1 .Properties ( "TextAlign") = Юстировка .Properties ( "Подпись") = Сар .Properties ( "DisplayWhen") = DisplayWhen ' Это не работает! End With End Sub Для того, чтобы подтвердить мои вопросы: Как я могу установить некоторые поля отчета для отображения только на предварительном просмотре печати, но не на печати? Могу ли я создать пользовательский обработчик событий, который будет фиксировать команду печати из отчета? Есть ли способ, чтобы установить свойство DisplayWhen (или аналогичный / соответствующий параметр) на поле отчета?
Gaffi
1

голосов
1

ответ
7.3k

Просмотры

Транспонирование набор значений в строках в столбцы в Access 2010

У меня есть доступ к базе данных, которая выглядит примерно так: ID | TestDate | Test1 | Test2 | Тест 3 | 1 | Date1 | 10 | 20 | 25 | 1 | Дата2 | 8 | 21 | 23 | 1 | Date3 | 9 | 18 | 23 | 2 | Date1 | 13 | 19 | 22 | Я хотел перенести данные строки в столбцы и сохранить имя предыдущих заголовков столбцов, например, так: ID = 1 | Date1 | Дата2 | Date3 | и т.д ... Test1 | 10 | 8 | 3 | Test2 | 20 | 21 | 18 | Test3 | 25 | 23 | 23 | ID = 2 | Date1 | Test1 | 13 | Test2 | 19 | Test3 | 22 | * The Date1 в различных идентификаторах не обязательно должен быть одинаковым. Date1 является дата ID был тест в первый раз. Таким образом, будет легче контролировать динамику значений тестов. Я попробовал, глядя, но запросы, я натыкаюсь на значениях оных. Я просто нужны данные транспонированные без необходимости копировать и вставить в Excel. Любой запрос MS Access или VBA код очень ценится. Спасибо.
ome
1

голосов
2

ответ
2.4k

Просмотры

Как бы я сделать форму, которая ищет значения во всех таблицах базы данных доступа

Я пытаюсь сделать форму, которая ищет значения внутри всех таблиц в базе данных (имеется более 1 таблицы). Результат будет отображаться в качестве имени таблицы, это появляется. Если кто-то может помочь мне, что будет хорошо. Короче говоря, у меня есть форма с текстовым полем и кнопкой. Я вхожу в строку поиска (например, 183939) и нажмите на кнопку. Она ищет значение (183939) внутри всех полей таблиц в базе данных, и, если значение найдено, то он отображает имя таблицы, в которой он появляется в. Спасибо за помощь.
nonion

Просмотр дополнительных вопросов