ms-access


Issue with the TOP 1 query


Is it possible to achieve next thing without using views, but just one single query? I have two tables:
TableA->TanbleB (1-many) ON TableA.Id = TableB.TableAId
I need to update one field in Table A (TableA.Field1) for records in TableA that satisfy condition on one field in tableA (WHERE TableA.Field2=SomeValue)
.
TableA.Field1 will be updated from TableB with value that is last inserted (last inserted value in related records to TableA).
I will put an example:
UPDATE TableA a SET Field1 = (SELECT TOP 1 b.Feild1 * b.Field2 FROM TableB b WHERE b.TableAId = a.id) WHERE field2 = 1
I know Above example doesn't work, but I have many ways tried using INNER JOIN and failed. I had an idea to use something like this:
UPDATE TableA INNDER JOIN ( SELECT ... FROM TABLE B) ON TABLEA.Id= TableB.TableAId SET ....
But the 2ns query should return 1 record for each DISTINCT TableAId, but only the last inserted.
I hope I am making some sense here.
Thanks in advance.

Here is some SQL that will do what you want
UPDATE T1 INNER JOIN T2 ON T1.ID = T2.T1ID SET T1.F2 = [T2].[F2]*[T2].[F3] WHERE (((T1.F1)="ABC") AND ((T2.ID)=DMax("[ID]","[T2]","[T1ID]=" & [T1].[ID])));
This predicated on T1.ID being the primary key for T1 and T2.T1ID being a index field in T2

One of the flaws in Access is that you can't run an "UPDATE" query based on a "SELECT" query, it will usually give the error:
Operation must use an updateable query
The only way around is as you say to create a view of the "SELECT" query and then inner join this on your table, Access is then working with a static recordset and can handle the "UPDATE" query ok
Alternatively you could write a VBA procedure to step through line by line with the Recordset.
Best of luck : )
UPDATE:
SELECT b.TableAId, b.Feild1 * b.Field2 INTO tblView FROM TableB As b WHERE b.field2 = 1


Related Links

Access 2010 - Missing Security Profile
Access 2010 Populate Subform with Query
How do I remove case-sensitivity from my combo box's autocomplete (Access form)
How to structure my query for a MS Access Chart?
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

Categories

HOME
winforms
activiti
push-notification
kde
mfc
nullpointerexception
relative-path
grep
objectgears
kalman-filter
malloc
umd
opengl-es-2.0
python-unittest
reveal.js
modx-revolution
circular-dependency
orchardcms
fatal-error
connection-string
pythonanywhere
nhibernate-envers
grails3
facebook-instant-articles
captiveportal
microsoft-r
h2db
spark-jobserver
pingfederate
uninstall
applozic
webkitspeechrecognition
galsim
.net-4.0
asset-pipeline
accelerate-framework
android-kernel
gammu
plsql-psp
abstract-class
impersonation
user-controls
broadcastreceiver
android-mediaprojection
wptoolkit
dandelion
brightcove
libusb-win32
arrow-keys
django-scheduler
mediaelement
bonobo
gstreamer-0.10
contact-list
holder.js
dlna
bluemix-app-scan
php-internals
uid
xna-4.0
python-3.2
atk4
jqgrid-formatter
tableau-online
myo
event-bubbling
createprocessasuser
pretty-print
gadt
java.util.concurrent
project-planning
google-reader
ceil
eol
oracle-warehouse-builder
ember-charts
.aspxauth
gridfs
random-seed
smtp-auth
errai
semantic-diff
datareader
visitor-statistic
fluent-interface
paster
getresponsestream
xsdobjectgen
user-friendly
avatar





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