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

Complicated crystal report help - Semicolon in the database field value
VBA procedure to import csv file into access
does backend path length affect frontend speed?
MS Access Syntax error
Query not running with “*” criteria
Acess 2007 one-to-many relationship counting
MS Access Form Load
Access 2003: Determine whether one or all of 4 fields exist in table
navigating through table records in Access VBA
Save record with default form values
Sub Reports In Main Report - Access Reports
Is it possible to click on a report record to open relevant form in Access using VBA
MS Access: custom paper size
DSum function in vba
Access mdb file, the DB keeps trying to connect to a remote server
Copying to/from Dbase data using Access

Categories

HOME
blogger
minimum-spanning-tree
heroku
smarty
hp-exstream
spagobi
gps
ip
icloud
alpha
ebean
directx
pheatmap
basic
gorm
adobe-analytics
etl
usergrid
ghc
object-detection
cx-freeze
scriptcs
lcd
url-scheme
elasticsearch-ruby
assistant
google-cloud-nl
google-sites-2016
stringtemplate
asset-pipeline
openoffice.org
azure-sql-database
mapbox-gl
dosbox
swift3.0.2
service-discovery
unspecified
ws-security
businessworks
sas-jmp
babel-core
network-flow
upstart
alphabet
pebble-watch
namecoin
or-tools
color-picker
gridpane
dstu2-fhir
impresspages
prettytensor
historian
qdialog
browser-bugs
php-ci
sysinternals
mmc
sorl-thumbnail
offloading
winddk
asp.net-dynamic-data
id3v2
castle
google-reader
responsive-slides
android-radiobutton
contenttype
mysql-error-1062
mechanize-ruby
android-2.2-froyo
imdbpy
uv-mapping
sitemesh
easy-install
eclipse-memory-analyzer
eventlistener
sublist
bitsharp
venn-diagram
twrequest
dbproviderfactories
appconkit
ticoredatasync
work-stealing
recent-documents
ecl
web-application-design
.nettiers
modelstate
nhibernate.search
adrotator
ajax-forms





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