ms-access


How can I use the database commands 'Seek' and results 'NoMatch'?


Here's my problem:
Let's say I have these tables:
table1
1 - "a"
2 - "b"
table2
1 -
2 -
3 -
Now, I'm using the following code to compare the tables:
table2.MoveFirst
Do While Not table2.EOF
table1.Seek "=", table2!field2
If table1.NoMatch Then
go do a lot of things to find that information
Else
table2.Edit
table2!Field2 = table1!field2
table2.update
End If
table2.MoveNext
Loop
But the line
table2!Field2 = table1!field2
Is not working so well. I'm pretty sure I'm doing something wrong here, but I'm having problems finding a solution. I'm not even sure what I should google...
EDIT: Field 2 is indexed in table 1, so the 'seek' works.
A few notes.
Let us say you want all the records from Table2 where there is no match on a field called Field1:
sSQL = "SELECT Field1, FieldX FROM Table2 " _
& "LEFT JOIN Table1 " _
& "ON Table2.Field1 = Table1.Field1 " _
& "WHERE Table1.Field1 Is Null"
You could, of course, build the query in the query design window and fiddle around until is is just what you want, then switch to SQL view to get the right (ish) SQL string.
Dim rs As DAO.Recordset
Set rs = CurrentDB.Openrecordset(sSQL)
''table2.MoveFirst
Do While Not rs.EOF ''table2.EOF
''You do not need no match, all these records are missing a match
'' table1.Seek "=", table2!field2
'' If table1.NoMatch Then
go do a lot of things to find that information
rs.MoveNext
Loop
''This can all be done with one update query
'' Else
'' table2.Edit
'' table2!Field2 = table1!field2
'' table2.update
'' End If
'' table2.MoveNext
'' Loop
sSQL = "UPDATE Table2 " _
& "INNER JOIN Table1 " _
& "SET table2.Field2 = table1.field2 "
CurrentDB.Execute sSQL dbFailOnerror
Please treat the above as notes, not finished code.
But the line table2!Field2 = table1!field2 Is not working so well
...is not a good description of what goes wrong.
Does the code stop/crash at this line?
Does it run without errors, but do nothing / something else than you expected?
I suppose that you're using DAO Recordsets.
It's hard to give advice without more information, but I'll give it a try:
Is table2 completely empty? Your description looks like this:
table2
1 -
2 -
3 -
If yes, the whole loop is probably never executed at all.
Can the Recordset table2 be updated?
Not all types of Recordsets support this, it depends on how you create it. See MSDN: Recordset Object (DAO), there is a list of Recordset types at the beginning.
If it's not updateable, you should get an error when you call .Update.
If you're using DAO recordsets (as suggested by Christian) you can change the line
table2!Field2 = table1!field2
to
table2.Fields("Field2").value = table1.Fields("field2").value
I'm presuming both Field2's are of Text data type.

Related Links

Printing pictures in Access Forms
printing a record
MS access mdb file has a “repair” status first time it is opened from Access 2007
Viewing ACCDB with Access 2010 runtime when Access 2007 is installed
is it possible to password protect ms-access 2007 file without encryption
Will an MS Access back-end for a client server application have transfer speed problems?
MS-Access, Bound Control on Form, Show user text, but record PK for that text
Access - Design change error message without attempting to make a change
VBA question: debug.print displays the correct data - how to get it out of Immediate window?
create a customised openFileDialog
access 2010 One form add information in table1 and table2
Trying to improve performance by removing DLookUp - Access 2007
MS ACCESS 2007 - Making a small pop form not full screen, when all other forms are full screen
How do I make a stored procedure in MS Access?
how to validate ms access textbox using button click event?
Suggestions on troubleshooting QueryDefs in Access 2000

Categories

HOME
mockito
lodash
jsp-tags
fsm
ojdbc
mvvmcross
enterprise-library-5
in-app-purchase
autotools
virtualization
facebook-messenger-bot
primary-key
mapserver
google-cloud-spanner
spring-tool-suite
task
fallback
dynamics-crm-online
google-cloud-speech
kryo
cx-freeze
cloudhub
css-animations
google-search-api
core-text
kudan
telerik-reporting
format-specifiers
semantic-analysis
virtualdub
large-file-upload
google-rich-snippets
bcd
.net-4.0
uiswipegesturerecognizer
ios5
adobe-premiere
x11-forwarding
angularjs-factory
temporary-files
estimote
errordocument
logparser
idisposable
python-cryptography
arrow-keys
migradoc
time-and-attendance
infix-notation
azure-virtual-network
nsfilemanager
xml-attribute
bstr
master-slave
independentsoft
computer-algebra-systems
event-bubbling
pretty-print
dereference
skos
notify
block-device
android-nested-fragment
bitcoinj
uitouch
valueconverter
expected-exception
mysql-error-1062
app42
centos5
viadeo
prettify
mysqltuner
aqtime
buster.js
gwt-rpc
smtp-auth
specification-pattern
isnullorempty
manchester-syntax
objective-c-2.0
javax.script
recent-documents
ecl
inotifycollectionchanged
propagation
zend-translate
xsdobjectgen
kdbg
project-hosting
sector
procedural-music
w3wp
geneva-server
lzh

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html