2009-10-07 3 views

ответ

1

Вы не можете проверить код доступа встроенных функций (кроме изучения ассемблера).

Если у вас есть какие-либо конкретные функции, которые вас интересуют, обновите свой вопрос, и я уверен, что у кого-то будет информация для вас.

Update (в ответ на обновленный вопрос плаката, и читать между строк!):

Вы упоминаете вы заинтересованы в оператором LIKE «». Если вы пытаетесь выполнить сопоставление с образцом, библиотека сценариев Microsoft VBScript (на основе COM), которая имеет приличные возможности регулярного выражения, начиная с версии 5.5, содержит VBScript.RegExp; это может быть то, что вам нужно. [Эта библиотека является частью Internet Explorer 5.5 и более поздних версий.]

Чтобы использовать эту библиотеку в приложении Visual Basic, выберите «Проект | Ссылки». Прокрутите список вниз к элементу «Microsoft VBScript Regular Expressions 5.5». Примечание: Обязательно выберите версию версии 5.5, а не 1.0.

VBA Пример кода:

'Prepare a regular expression object 
Dim regExp As RegExp 
Dim matches As MatchCollection 
Dim match As Match 
Set regExp = New RegExp 
regExp.IgnoreCase = True 
regExp.Global = True 
regExp.Pattern = "regex" 
Set matches = regExp.Execute(subjectString) 
For Each match in matches 
    MsgBox(match.Value) 
Next 

Существует руководство здесь: VBScript's Regular Expression Support

+0

LIKE также может использоваться в VBA, как нечто расширенное InStr(), например, If "frmCustomer, frmInventory, frmRolodex" Like "*" & strForm & "*" Затем ... –

+0

@David W. Fenton: Thanks Дэвид. Я использовал его несколько раз в VBA ... –

1

Если вы хотите, чтобы получить представление о том, как некоторые из встроенных функций реализованы вы можете посмотреть на открыто- исходные исходные коды баз данных, такие как MySQL или postgres. Но, как эти функции реализованы, достаточно важны для производительности базы данных, поэтому компания будет достаточно защищать это.

Итак, как упоминалось выше, Митч Пшеница, если вы не разбираетесь, вы не сможете увидеть код для доступа, поскольку это не проект с открытым исходным кодом.

+1

Я бы подумал, что что-то вроде оператора LIKE будет довольно специфичным для каждого механизма базы данных, поскольку он даже не ведет себя одинаково во всех двигателях db. Он также должен быть очень близок к металлу, потому что он должен использовать или не использовать индексы, а реализация индексов будет отличаться между двигателями db. Поэтому я бы обязательно подумал о том, что реализация ОС LIKE собирается рассказать вам о какой-либо конкретной реализации другого db-движка. Однако это может определить пространство проблем. –

+0

Изучая некоторые примеры с открытым исходным кодом, он может получить представление, если он должен реализовать что-то подобное, поскольку MS, вероятно, не будет передавать код.Это было единственное, что я мог подумать, что поможет кому-то понять, как это можно реализовать. –

+0

@David W. Fenton: «оператор LIKE ... даже не ведет себя одинаково во всех двигателях db» - это проблема, которую разрешают стандарты ISO/ANSI SQL. Посмотрите на последний синтаксис, добавленный в SQL Server и mySQL: на основе и соответствует спецификациям Standard SQL (зачем изобретать колесо?) С расширениями поставщиков. Access Database Engine SQL - это реликвия 1990-х годов: проприетарный, анахронизм и т. Д. – onedaywhen

1

Функция? Ключевое слово LIKE является оператором. См. Access Help для получения подробных сведений о том, как это работает (и см. Спецификацию SQL-92 о том, как она должна работать;)

Что касается кода, он является собственностью Microsoft, и я думаю, они не будут делиться им с вами.

Смежные вопросы