473,320 Members | 1,965 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Taking value from a control in a form and place that value in a field in another table.

27 16bit
Let me first explain the application, and state early on that I am an amateur at VBA. I am creating an Access database that will function similar to Computer Aided Dispatch for small police agencies. I have a table called TourT with a PK of ID.

I have a form named CAD_UnitSetup with its record source as the above table, TourT.

I have another form called CAD_CallDispSplitF with its record source is ActivityT. In the ActivityT table, I have a field named TourID.

There is a subform to the above parent form CAD_CallDispSplitF named CAD_Log_DispF. The subform's record source is CADLogT. In CADLogT, there is a field called TourID. Through a combo box on the subform CAD_Log_DispF the operator will select the appropriate Unit (TourID) and place that value in the TourID field in the subform's record source table CADLogT.

Also in the CADLogT, there is a number field called ActionID. The Operator will select the appropriate action from a combo box and place that value in the ActionID field. The actions are similar to 1 is for Dispatched as Primary, 2 is Dispatched as Backup, 3 is Arrived, etc.

I created the following Select Case subroutine in the BeforeUpdate event of the subform.

Expand|Select|Wrap|Line Numbers
  1. Private Sub Form_BeforeUpdate(Cancel As Integer)
  2.  
  3.     Me.EmployeeID = DLookup("EmployeeID", "LocalUserT")
  4.  
  5.     If IsNull([EntryDateTime]) Then
  6.         [EntryDateTime] = Now()
  7.     End If
  8.  
  9.  Select Case ActionID.Value
  10.  
  11.         Case Is = 1: UnitAvailable = 0
  12.         Case Is = 2: UnitAvailable = 0
  13.         Case Is = 3: UnitAvailable = 0
  14.         Case Is = 4: UnitAvailable = 1
  15.         Case Is = 6: UnitAvailable = 1
  16.         Case Is = 7: UnitAvailable = 1
  17.         Case Is = 8: UnitAvailable = 1
  18.         Case Is = 10: UnitAvailable = 1
  19.  
  20.     End Select
  21.  
  22.  
  23. End Sub
This places the value of 1 or 0 in the UnitAvailable field of the CADLogT. 1 is for Unit is Available, and 2 is Unit Not Available, (I chose to use a number value rather than Yes/No for other reasons).

When the operator selects the appropriate Action on the subform, it places a 1 or 0 in the UnitAvailable field. This simply means that for that particular record, for UnitAvailable is either 1 or 0 based on the selection of the ActionID control. This works fine but it does not achieve my ultimate goal.

My ultimate goal is to have the UnitAvailable field in the first table I described above, (TourT), toggle 1 or 0 to match the 1 or 0 in the latest record in the Log for the related TourID.

Any help would be appreciated, and please remember, I am a beginner to VBA.

Mark
Aug 19 '22 #1

✓ answered by NeoPa

Hi Mark.

I'm sure it all makes sense to you, but when you use words to represent an idea then I have to recognise what those words pertain to. TourID makes sense to you. To me it's a word. When I have a clear understanding of what it refers to then I still have to translate that from TourID every time you use it when it comes to understanding the context. There are clues as to what you understand it to mean, but spread across various sentences.

Tell me if/when I go wrong.
  1. A single record in your [ActivityT] table represents an incident that a small police agency has to deal with.
  2. A single record in your [TourT] table represents a police unit. I assume a unit would be a patrolling group either in a vehicle or on foot.
  3. The [CADLogT] table records represent incident actions that will always include one unit and an action. Each such action either ties up or frees up a unit, depending on [ActionID].
  4. The [CADLotT] table is presumably simply a mis-spelling of [CADLogT].
Mark:
Perhaps I am wrong but I do not believe I can link the TourT table and the CADLogT together and make that query the record source for the subform.
From my understanding of your table structure that would be wrong. It's what I've suggested to simplify your process considerably.
Mark:
In each record in the CADLotT, there is a UnitAvailable field.
Why? What possible reason could there be for storing that information again when it is already determined from the [ActionID] value? Only the [TourT] table should contain a [UnitAvailable] Field.

NB. To take your database and reverse-engineer it in order to find what the questions ought to be is a very labour-intensive way to find out what you think you're trying to do. Generally not helpful to find what the question should be.

Hopefully that should be some help, but I'm flying almost blind so if we need to clarify further we'll see what we can do.

30 10035
NeoPa
32,556 Expert Mod 16PB
Hi Mark.

Welcome to Bytes.com.

Let me start by saying that, as a newbie, you show remarkable forethought and attention to detail in your question. It's a fair amount to take in, but it's all there - and expressed pretty well too.

Now, if I understand you correctly, you want to update a matching value (UnitAvailable) in your table [TourT] whenever you make a change to that in one of your matching (on [ID]) [ActivityT] records.

For me, the easiest way to do this is to make the RecordSource of the Form into a Query that links the two tables on the [ID] field and includes the [TourT].[UnitAvailable] Field on that Form. You would need an AfterUpdate() Event Procedure for the [ActivityT].[UnitAvailable] Control to trigger the other value being updated, but that seems more straightforward than doing a side-along update of an unrelated table.

Just quickly, let's illustrate a different way of handling your Select Case statement :
Expand|Select|Wrap|Line Numbers
  1. Select Case Me.ActionID.Value
  2.     Case 1 To 3
  3.         Me.UnitAvailable = 0
  4.     Case Else
  5.         Me.UnitAvailable = 1
  6. End Select
Aug 20 '22 #2
CJ_London
27 16bit
alternative to the case statement would be
Expand|Select|Wrap|Line Numbers
  1. unitAvailable = Abs(ActionID>=4)
Aug 22 '22 #3
NeoPa
32,556 Expert Mod 16PB
There's no question that would work, but would it pass the test of being easier to maintain? I think most experts (and I certainly include you in that list) tend to advise against such code on the bases that :
  1. It's harder to maintain - especially for those who haven't written it.
  2. It relies on the implementation of the Boolean handling within VBA.
    Not everyone is as familiar with that as you are ;-)
Aug 22 '22 #4
CJ_London
27 16bit
If the only options are as set out by the OP then personally think just as easy to maintain. But in the future if a value of 5 can be sent which requires a 0 or there are values above 10 then it would not be appropriate and you would then use a case statement along the lines you proposed.

I do think users should learn and understand boolean handling. Every comparison provides a boolean result, even the case statement - either an action is between 1 to 3, or it's not, there is no 'maybe'. But there is an 'otherwise' with the else (which is still true/false)

This is moving off topic for this thread but I've lost track of the number of times I've seen OP's with code that uses AND's and OR's without brackets and don't understand why they get a wrong result because they don't understand boolean logic. I would also add that I extensively comment my code so it provides a 'story' so future developers can follow the logic as it provides a 'why'
Aug 22 '22 #5
NeoPa
32,556 Expert Mod 16PB
I'm almost tempted to split this into a new thread as you raise some important issues. Maybe if I have some idle time somewhen.

I will limit myself to agreeing and sympathising about many developers' struggles to work well with Booleans - even though that's a more pure issue and doesn't result from their understanding (or lack thereof) of the underlying handling of it within VBA.
Aug 22 '22 #6
MNewby
27 16bit
Thank you for the response. I am trying. Regarding

"For me, the easiest way to do this is to make the RecordSource of the Form into a Query that links the two tables on the [ID] field and includes the [TourT].[UnitAvailable] Field on that Form."

Are you suggesting making a query as the record source for the subform CAD_LogDispF. Then join the CADLogT.UnitAvailable and the TourT.Unitavailable fields in that query?

Mark
Aug 22 '22 #7
CJ_London
27 16bit
I have to say I'm struggling to understand your relationships - any change you can post a screenshot?
Aug 22 '22 #8
MNewby
27 16bit
CJ, I don't see how I can insert of a screen capture. The window is asking for an http:// address.
Aug 22 '22 #9
CJ_London
27 16bit
Click on the advanced tab (bottom right of the response box)
then click on upload files. See attached :


If you are using something like the snipping tool, you should just be able to select it from the clipboard.
Attached Images
File Type: jpg image_2022-08-23_002125577.jpg (45.2 KB, 97 views)
Aug 22 '22 #10
NeoPa
32,556 Expert Mod 16PB
Mark:
Are you suggesting making a query as the record source for the subform CAD_LogDispF. Then join the CADLogT.UnitAvailable and the TourT.Unitavailable fields in that query?
Difficult to say - as I don't think I understand what you're asking. What does "Join" mean in that sentence?

The first part is certainly correct. From there you would have a Control for the [ActivityT] version of [UnitAvailable] as well as for the [TourT] version, though that could be set as not visible if you chose. Now, whenever the first is updated then you detect that and, if & when any record is saved you also check whether or not this Control has been updated. If it has then, in the Form_AfterUpdate() Event procedure, you update the second Control and save the record again. Thus updating the [TourT] version of the [UnitAvailable] value any time the [ActivityT] one is changed.
Aug 22 '22 #11
MNewby
27 16bit
I might not have called it correctly, when you said make a query as the subforms record source, I have to bring in both tables, the CADLogT and the TourT. Don't I have to join the two tables on the TourT.ID and the CADLogT.TourID?
Aug 22 '22 #12
MNewby
27 16bit
I am trying to figure out where the snipping tool saves the image.... do you know the default location?
Aug 22 '22 #13
NeoPa
32,556 Expert Mod 16PB
Mark:
Don't I have to join the two tables on the TourT.ID and the CADLogT.TourID?
The two tables are JOINed within the query itself, yes. The Form though, treats them as a single, flat, set of records. Both the Fields (or the same-named Field from both Tables) exist side-by-side in the dataset returned for the Form to use. These two Fields will always have different names assigned automatically but you can assign your own if it helps you work with them more easily.
Mark:
I am trying to figure out where the snipping tool saves the image.... do you know the default location?
When you have the Snipping Tool open it allows you to save your images wherever you like. It brings up a standard Save-As window where you can select or see both the name and the folder.
Once you have the file saved you can attach it using the 'advanced' tab as suggested and upload it. Once it is an attachment then it will have an associated URL and will thus be able to be shown within your post using the [IMGNOTHUMB] (or even just [IMG]) tags.
Aug 23 '22 #14
NeoPa
32,556 Expert Mod 16PB
Mark:
Don't I have to join the two tables on the TourT.ID and the CADLogT.TourID?
Did I misunderstand what you were asking about with my earlier answer? Bear in mind I have very little understanding of your table structure. I thought you needed [TourT].[ID]=[ActivityT].[ID], but if the other table is [CADLogT] rather than [ActivityT], and the related Field is [TourID] rather than [ID], then yes. That's what you'd need to do the JOIN on in your query ([TourT].[ID]=[CADLogT].[TourID]).
Aug 23 '22 #15
CJ_London
27 16bit
You don't need to save it as it is automatically copied to the clipboard - see image, I don't know how to embed it - Neopa, please can you do the honours or point me in the right direction as to how to do it :)

Attached Images
File Type: png image_2022-08-23_013240557.png (23.2 KB, 90 views)
Aug 23 '22 #16
NeoPa
32,556 Expert Mod 16PB
Hi CJ :-)

When it's been attached it shows as a link by the post. Copy the URL using right-click | Copy Link. Edit your post and add [IMGNOTHUMB][/IMGNOTHUMB] around this link. If you edit one of your own where I've already done it for you you'll see an example of it in action.

For further options see BB Code. That's pretty old and the supported options change over time, but it'll give you a lot to choose from.
Aug 23 '22 #17
MNewby
27 16bit
Okay, obviously I need to join the TourT.ID = CADLogT.TourID, I assume as a one (TourT.ID) to many CADLogT.TourID, correct? Also, do I need to join the UnitAvailable field in both in order for the UnitAvailable field in both to match values after the record is saved in CADLogT?
Aug 23 '22 #18
MNewby
27 16bit
If I put this image in correctly, this will give you a visual depiction of my forms being used and their underlying tables.

Attached Images
File Type: png Snap 2022-08-22 at 17.58.46.png (11.1 KB, 85 views)
File Type: png Snap 2022-08-22 at 18.00.22.png (22.7 KB, 81 views)
File Type: jpg Snap 2022-08-23 at 09.40.58.jpg (141.4 KB, 95 views)
File Type: jpg Snap 2022-08-23 at 09.45.34.jpg (92.3 KB, 80 views)
File Type: jpg Snap 2022-08-23 at 09.46.29.jpg (154.3 KB, 84 views)
Aug 23 '22 #19
NeoPa
32,556 Expert Mod 16PB
Hi Mark.

I'm still unclear what you're after here. If you have a one-to-many (1-M) connection between your tables, what is it that triggers changes to your[UnitAvailable] flags? Do they all have to change when any one does or can there be different values across the log records? If different then how do you determine which one should match between the log records and the [TourT] one?

What's going on here logically - in human terms - for you to want to do this type of update?
Aug 23 '22 #20
MNewby
27 16bit
Okay, we will fist talk about the subform CAD_LogDispF with its record source being CADLogT.

When the operator selects the Unit (TourID) in the TourID control, it of course placed that TourID value in that field. Then the operator tabs to the next control, ActionID and selects the appropriate action, i.e.

DP is Dispatched Primary which has a value of 1
DB is Dispatched as Backup which has a value of 2
A is Arrived which has a value of 3
etc. etc.

On the BEFORE UPDDATE event of the subform, I have the Select Case ladder, which depending on the action the operator selects, 1 or 2 or 3 or etc, the Case Ladder puts a 1 (for Unit Available) or 0 (for Unit Not Available) in the UnitAvailable field in the subform's record source CADLogT.

Expand|Select|Wrap|Line Numbers
  1. Private Sub Form_BeforeUpdate(Cancel As Integer)
  2.  
  3.     Me.EmployeeID = DLookup("EmployeeID", "LocalUserT")
  4.  
  5.     If IsNull([EntryDateTime]) Then
  6.         [EntryDateTime] = Now()
  7.     End If
  8.  
  9.     Select Case ActionID.Value
  10.  
  11.         Case Is = 1: UnitAvailable = 0
  12.         Case Is = 2: UnitAvailable = 0
  13.         Case Is = 3: UnitAvailable = 0
  14.         Case Is = 4: UnitAvailable = 1
  15.         Case Is = 6: UnitAvailable = 1
  16.         Case Is = 7: UnitAvailable = 1
  17.         Case Is = 8: UnitAvailable = 1
  18.         Case Is = 10: UnitAvailable = 1
  19.  
  20.     End Select
  21.  
  22. End Sub
On the ON CURRENT of that same subform, I have the following subroutines.

Expand|Select|Wrap|Line Numbers
  1. Private Sub Form_Current()
  2.  
  3.     If ActionID = 1 Or 2 Then
  4.         DoCmd.SetWarnings False
  5.         DoCmd.OpenQuery "qry_CAD_UpdateTourUnitAvailByLog"
  6.         DoCmd.OpenQuery "qry_CAD_UpdateDispTimeInTourT"
  7.         DoCmd.SetWarnings True
  8.     End If
  9.  
  10.     If ActionID = 3 Then
  11.         DoCmd.SetWarnings False
  12.         DoCmd.OpenQuery "qry_CAD_UpdateTourUnitAvailByLog"
  13.         DoCmd.OpenQuery "qry_CAD_UpdateBeginTimeInTourT"
  14.         DoCmd.SetWarnings True
  15.     End If
  16.  
  17.     If ActionID = 4 Then
  18.         DoCmd.SetWarnings False
  19.         DoCmd.OpenQuery "qry_CAD_UpdateTourUnitAvailByLog"
  20.         DoCmd.SetWarnings True
  21.     End If
  22.  
  23.     If ActionID = 6 Or 7 Or 8 Or 10 Then
  24.         DoCmd.SetWarnings False
  25.         DoCmd.OpenQuery "qry_CAD_UpdateTourUnitAvailByLog"
  26.         DoCmd.OpenQuery "qry_CAD_UpdateEndTimeInTourT"
  27.         DoCmd.SetWarnings True
  28.     End If
  29.  
  30.  End Sub
The UPDATE query that I have below will update the UnitAvailable field in the TourT table each time the record in the CADLogT is saved. This seems to work but probably not very efficiently as I think the way I have it, it looks at every record in the table. I was hoping that I could achieve the same thing without UPDATE queries.

Expand|Select|Wrap|Line Numbers
  1. UPDATE CADLogT LEFT JOIN TourT ON CADLogT.TourID = TourT.ID SET TourT.UnitAvailable = [CADLogT].[UnitAvailable];
Let's talk now about the table, TourT with ID as is Primary Key. It also has a field called UnitAvailable. This needs to toggle 1 or 0 to indicate whether that Unit (Officer) is available or not.

Now lets go back to the subform.

On the subform with its record source being CADLogT, if that record's UnitAvailable value is 1, I need the UnitAvailable value in the table TourT to change to 1. For example, if unit 704 is selected, and ActionID of DP is selected (value of 1) then the UnitAvailable field in the CADLogT is changed to a value of 0. I have the above subroutines that OpenQuery "qry_CAD_UpdateTourUnitAvailByLog". It does seem to work but I believe it is not efficient or the correct way to get the UnitAvailable value to change.
Attached Images
File Type: png Snap 2022-08-23 at 10.54.09.png (23.0 KB, 32 views)
Aug 23 '22 #21
MNewby
27 16bit
Maybe a simpler way for me to say it is this way.

If the ActionID value in the ActionID control on the subform named CAD_LogDispF is a 1 or 2,

AND

If the DispDateTime value in the DispDateTime control in the parent form CAD_CallDispSplitF is empty,

THEN

the value in the DispDateTime field in the parent form CAD_CallDispSplitF should equal the value in the EntryDateTime control on the subform CAD_LogDispF.
Aug 23 '22 #22
NeoPa
32,556 Expert Mod 16PB
Hi Mark.

Would it be possible to go back to my last post and respond to the questions I ask there? You throw a great deal of extra information at me, but I see nothing there to give context or provide an understanding of why you have what appears to be an over-complicated structure or design. Just loads and loads of extra detail to trawl through before realising it provides nothing helpful. Nothing I could find anyway. Please consider your answers carefully. They could save a lot of time & effort.
Aug 23 '22 #23
MNewby
27 16bit
Okay, I will go back to the other post.
Aug 23 '22 #24
MNewby
27 16bit
The UnitAvailable flag in the subform's table changes based on the Select Case ladder in the subform's Before Update event. I showed that Case ladder in earlier post in this thread. Right now I am relaying on an Update Query to update the UnitAvailable field in the TourT table, which does not seem to be efficient.

Perhaps I am wrong but I do not believe I can link the TourT table and the CADLogT together and make that query the record source for the subform. I apologize if I am making this convoluted, I just don't understand.
Aug 23 '22 #25
MNewby
27 16bit
There would be several TourIDs in the log pertaining to the same incident ActivityT.ID. For instance the unit (TourID) is dispatched to the call (ActionID 1), the same unit arrives on scene (ActionID 3), the same unit returns available (ActionID 10), etc..... all on a separate record in the CADLogT. In each record in the CADLotT, there is a UnitAvailable field. It changes based on the Select Case ladder.

It is certainly possible for a second unit to be dispatched as backup, with the same procedures I described in the above paragraph. The backup unit of course has a different TourID than the primary unit.

I am not sure if that answers your question.
Aug 23 '22 #26
MNewby
27 16bit
If it would be easier for you to understand, I can zip the db and post it.... it has no live confidential data in it.
Aug 23 '22 #27
NeoPa
32,556 Expert Mod 16PB
Hi Mark.

I'm sure it all makes sense to you, but when you use words to represent an idea then I have to recognise what those words pertain to. TourID makes sense to you. To me it's a word. When I have a clear understanding of what it refers to then I still have to translate that from TourID every time you use it when it comes to understanding the context. There are clues as to what you understand it to mean, but spread across various sentences.

Tell me if/when I go wrong.
  1. A single record in your [ActivityT] table represents an incident that a small police agency has to deal with.
  2. A single record in your [TourT] table represents a police unit. I assume a unit would be a patrolling group either in a vehicle or on foot.
  3. The [CADLogT] table records represent incident actions that will always include one unit and an action. Each such action either ties up or frees up a unit, depending on [ActionID].
  4. The [CADLotT] table is presumably simply a mis-spelling of [CADLogT].
Mark:
Perhaps I am wrong but I do not believe I can link the TourT table and the CADLogT together and make that query the record source for the subform.
From my understanding of your table structure that would be wrong. It's what I've suggested to simplify your process considerably.
Mark:
In each record in the CADLotT, there is a UnitAvailable field.
Why? What possible reason could there be for storing that information again when it is already determined from the [ActionID] value? Only the [TourT] table should contain a [UnitAvailable] Field.

NB. To take your database and reverse-engineer it in order to find what the questions ought to be is a very labour-intensive way to find out what you think you're trying to do. Generally not helpful to find what the question should be.

Hopefully that should be some help, but I'm flying almost blind so if we need to clarify further we'll see what we can do.
Aug 23 '22 #28
MNewby
27 16bit
All 4 are correct. The only reason I had a UnitAvailable field in subform CADLogT was so that I could do a Update query.... but as I mentioned before, that is not efficient I don't believe.
Aug 23 '22 #29
MNewby
27 16bit
Okay, Neo..... It finally sunk into my thick head. Linking those two tables did work. I removed the UnitAvailable field in the CADLogT. The Case ladder in the Before Update does change the value as I need. Wow.... thanks for being patient. I am sure I will have other questions. I will consider this post solved.
Aug 23 '22 #30
NeoPa
32,556 Expert Mod 16PB
Hi Mark.

I always feel guilty when thanked for being patient :-D I doubt many benefit from me holding my tongue though - at least I feel it's true to say that any that eventually progress will have to move beyond this phase. I'm sure you will (or maybe already have).

I look forward to more questions from you.
Aug 24 '22 #31

Sign in to post your reply or Sign up for a free account.

Similar topics

2
by: Frankie | last post by:
Hi, I am working on a form where users can fill in an employee number. As soon as this is done I would like to show the name of this employee in this form. The name is stored in a different...
1
by: Beeker | last post by:
I have a table called 'RawData' that collects production data. We run a report on this data everyday to see the performance of each employee. I have another table called 'tblStandards' with...
4
by: biffyp | last post by:
I need to create a form where one fields value will determine another fields value. example field name is "Closed" then field name will automatically populate with the current date. any help...
2
by: Kaallis | last post by:
Hi there, Let me explain my problem more clearly: I have: a form FRM_Main 2 tables TBL_2007_OT and TBL_2007_Date a querry QRY_Dates_2007 The TBL_2007_Date is a number from 1 to 365 as...
0
Maidenz08
by: Maidenz08 | last post by:
I am using SQLXML 4.0 to Bulkload data from the XML to the SQL Database. I have 2 tables. "Country" and "Customer". Below is my XML file format ("Data.xml") <Root> <Countries> ...
1
by: shyjukj | last post by:
I need to join the various address field of a client and take the value to Invoice (Report). Customers PO Box, Address, City, Country & Tel number is joined together and is taken to report from...
4
by: hgillung | last post by:
I have a button on a subform that opens another form (PastMedicalHistory) I want to change the border color of this button after a user post information into this form. This way the user will know...
1
by: hicksmk2 | last post by:
I will try to explain this to the best I can. Currently, I am creating an asset inventory system. In the system, I have 2 tables (IT Assets and Contacts) and 3 separate forms (AssetEntry-F,...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.