Hey Everyone,
Well i was hoping someone could explain the best way i could go about this.
i have a few ideas on how i could go about this but i am just not sure if it would work.
Right now i have a form where you can add and delete multiple serial information. This works wonderful. But now for every serial information i add i need to be able to add and remove multiple parts to that serial.
heres an example of what i mean
serial information 1
parts 1
parts 2
serial information 2
parts 1
parts 2
The thing is if one of the serial information's gets deleted all the parts associated with it also have to be able to be removed with it as well. So if anyone could explain the best way to do this i would very much appreciate it.Here is the code i currently have for it. This allows you to add multiple serials.
Thank you in advance,
Rach
Oct 7 '08
92 4576
It needs to be partc, the variable, not "partc", the string, e.g.
It needs to be partc, the variable, not "partc", the string, e.g.
Hey Acoder,
This is what i have for it now - <input type='hidden' value='0' id='+partc+' \>
Thank you,
Rach
Don't forget to quote properly.
Next, you need to get this element in addpartInput(). So you can parse the ID of the serial (passed as partName) to get the count to construct the ID required. You could do that by removing the "dynamic" and "Input" parts to get a number.
Don't forget to quote properly.
Next, you need to get this element in addpartInput(). So you can parse the ID of the serial (passed as partName) to get the count to construct the ID required. You could do that by removing the "dynamic" and "Input" parts to get a number.
Hey Acoder,
I am lost by this part.
Would i get it by doing -
var get = document.getElementById('partc');
or instead of partc do '"+partc+"'?
an not sure which dynamic an input you mean to remove are you talking
about the one in the remove multiple fields section of parts? - <!---Allows us to remove multiple fields --->
-
function removeElement(divNum) {
-
var d = document.getElementById('dynamicInput');
-
var olddiv = document.getElementById(divNum);
-
d.removeChild(olddiv);
-
}
Thank you,
Rach
You need to construct the ID in addpartInput. Now the ID is "partscount" + a number. This number if you notice is the same number as the one in the ID of the serial div "dynamic1Input", "dynamic2Input". So what you need to do is take the variable that holds this string (passed in as partName) and parse it to get the number. Do you understand so far?
Now to get this number, what I'm suggesting is to remove the "dynamic" and "Input" from the string and you have the number that you need which you can use to get the id that you need to get the parts div element. Still following? There are other ways, but this one is one possible way.
Hey Acoder,
How would i parse it to get the number? not sure how to do that
an i am confused on the remove dynamic and input. The reason i am confused is because it appears so many times in the code that i got no clue which one needs to go an stay and the only one i can think your talking about removing is - var divIdName = 'dynamic'+count+'Input';
because other wise i have no clue because dynamic appears in many places which is why i am getting confused because there is so many different ones.
theres the 2 dynamic inputs that appear in the serial function - function addInput(divName){
-
var dynamic = document.getElementById('dynamicInput');
-
var thevalue = document.getElementById('theValue');
-
var count = (document.getElementById('theValue').value -1)+ 2;
-
thevalue.value = count;
-
var newdiv = document.createElement('div');
-
var getparts = document.createElement('div');
-
var divIdName = 'dynamic'+count+'Input';
-
var partc = 'partscount'+count;
-
newdiv.setAttribute('id',divIdName);
theres the one for remove - <!---Allows us to remove multiple fields --->
-
function removeElement(divNum) {
-
var d = document.getElementById('dynamicInput');
-
var olddiv = document.getElementById(divNum);
-
d.removeChild(olddiv);
-
}
theres the 2 that appear for the body - <body onload="addInput('dynamicInput');addpartInput('dynamic1Input');">
and the one that appears in the html - !--- Ticket Information --->
-
<input type="hidden" value="0" id="theValue" />
-
<input type="hidden" value="0" id="aValue" />
-
<div id="dynamicInput">
-
-
</div>
-
<!--- <div id="partsInput"> </div>--->
-
<!--- All Ticket Information Appears Here--->
-
-
-
<input type="button" class="addticket" value="Add Serial" onClick="addInput('dynamicInput');" >
Thank you,
Rach
I don't mean to remove it from the actual code. You need to add code to take the the string passed into the addpartInput function and convert it into a number. You can use the String replace() method, e.g. - serialno = partName.replace("dynamic","").replace("Input","");
then you can append it to "partscount" to get the id.
Hey Acoder,
i added the string into the parts function. - <!---Adds multiple fields for parts --->
-
function addpartInput(partName){
-
var parts = document.getElementById(partName);
-
var getparts = document.getElementById('div');
-
var avalue = document.getElementById('aValue');
-
var count = (document.getElementById('aValue').value -1)+ 2;
-
avalue.value = count;
-
var partdiv = document.createElement('div');
-
var partIdName = 'part'+count+'Name';
-
var serialno = partName.replace("dynamic","").replace("Input","");
-
partdiv.setAttribute('id',partIdName);
but do i append it in the parts function like so - document.getElementById(partName).appendChild(partdiv).appendChild(serialno);
Thank you,
Rach
No, not that kind of append. I mean string concatenation where you add it to "partscount". This ID would then replace "aValue" in line 5 in your last post.
Hey Acoder,
so your saying to take this line out -
var avalue = document.getElementById('aValue');
and replace it with - var serialno = partName.replace("dynamic","").replace("Input","");
an then whats next?
Thank you :),
Rach
Obviously, that's not enough. It has to be an adequate replacement. The first line gets an element, so the replacement must do the same. So construct the string as I explained earlier and then pass it to document.getElementById().
Obviously, that's not enough. It has to be an adequate replacement. The first line gets an element, so the replacement must do the same. So construct the string as I explained earlier and then pass it to document.getElementById().
Hey Acoder,
I am sorry i am still very confused. Are you saying to do something like - var replacevalue= document.getElementById(serialno);
-
and then do the below? - var serialno = partName.replace("dynamic","").replace("Input","");
an then do i need to take out the below from the parts function? - var avalue = document.getElementById('aValue');
-
Thank you,
Rach
You can keep the line and just change the "aValue" string which needs to be the ID of the new element, "partscount"+serialno.
You can keep the line and just change the "aValue" string which needs to be the ID of the new element, "partscount"+serialno.
Hey Acoder,
So the line should be this correct? - var avalue = document.getElementById('partc');
an then do you want me to do the other 2 parts i mentioned above this line the ones about the serialno?
Thank you,
Rach
No, this should be in addpartInput() and not set to "partc" which, if I'm not mistaken, probably doesn't exist. It should literally be set to "partscount"+serialno.
No, this should be in addpartInput() and not set to "partc" which, if I'm not mistaken, probably doesn't exist. It should literally be set to "partscount"+serialno.
Hey Acoder,
well i think i have it all wrong so i going to show you what i got because i think i got it all upside down. Here is what i have for both functions. - <!---serial function --->
-
function addInput(divName){
-
var dynamic = document.getElementById('dynamicInput');
-
var thevalue = document.getElementById('theValue');
-
var count = (document.getElementById('theValue').value -1)+ 2;
-
thevalue.value = count;
-
var newdiv = document.createElement('div');
-
var getparts = document.createElement('div');
-
var divIdName = 'dynamic'+count+'Input';
-
var partc = 'partscount'+count;
-
-
newdiv.setAttribute('id',divIdName);
-
-
<!---parts function --->
-
function addpartInput(partName){
-
var parts = document.getElementById(partName);
-
var getparts = document.getElementById('div');
-
var avalue = document.getElementById('aValue');
-
var avalue = document.getElementById('"partscount"+serialno');
-
var count = (document.getElementById('aValue').value -1)+ 2;
-
avalue.value = count;
-
var partdiv = document.createElement('div');
-
var partIdName = 'part'+count+'Name';
-
var serialno = partName.replace("dynamic","").replace("Input","");
-
-
partdiv.setAttribute('id',partIdName);
-
Thank you,
Rach
If you put "partscount"+serialno in quotes, then it'll be treated as a string whcih is what you don't want. On top of that, if you're setting serialno afterwards (on line 11), it won't be available on line 6. Line 5 wouldn't be needed any longer. On line 7, you're not making use of the avalue variable which you should be in place of document.getElementById("aValue").
I think either I'm not explaining well or you haven't understood what I've been trying to say. The idea was simple: change the ID to the new hidden element(s) instead of the old one.
Hey Acoder,
Your explaining good i am just not understanding. Mostly getting confused because there is 2 of them an so its hard to keep them straight. Also, i am not best at the terminology of JavaScript so i often get thrown off by the word string or variable. although i have read up on JavaScript and looked at examples and understood what i read and the examples, its hard for me to apply it to what i am working on. An i also been sick last few days so i haven't been able to fully focus either. So your doing a good job :), just me being slow which i am sorry i am being slow on this. But anyway i understood everything except the part about line 7 does the aValue that appear in this line - var count = (document.getElementById('aValue').value -1)+ 2;
need to be changed to - var count = (document.getElementById('avalue').value -1)+ 2;
Here is the parts function with everything else added - <!---parts function--->
-
function addpartInput(partName){
-
var parts = document.getElementById(partName);
-
var getparts = document.getElementById('div');
-
var avalue = document.getElementById("partscount"+serialno);
-
var serialno = partName.replace("dynamic","").replace("Input","");
-
var count = (document.getElementById('aValue').value -1)+ 2;
-
avalue.value = count;
-
var partdiv = document.createElement('div');
-
var partIdName = 'part'+count+'Name';
-
-
partdiv.setAttribute('id',partIdName);
Thank you,
Rach
Almost there. Lines 5 and 6 need to be swapped around otherwise serialno won't be set when you use it (resulting in an error). Secondly, you need to replace the document.getElementById() on line 7 to this new variable (which would be set to an element) to make use of it.
Almost there. Lines 5 and 6 need to be swapped around otherwise serialno won't be set when you use it (resulting in an error). Secondly, you need to replace the document.getElementById() on line 7 to this new variable (which would be set to an element) to make use of it.
Hey Acoder,
here is what i got. I think i might of done the part about line 7 wrong does it need to be set to avalue or to serialno? -
<!---parts function--->
-
function addpartInput(partName){
-
var parts = document.getElementById(partName);
-
var getparts = document.getElementById('div');
-
var serialno = partName.replace("dynamic","").replace("Input","");
-
var avalue = document.getElementById("partscount"+serialno);
-
var count = (document.getElementById('avalue').value -1)+ 2;
-
avalue.value = count;
-
var partdiv = document.createElement('div');
-
var partIdName = 'part'+count+'Name';
-
-
partdiv.setAttribute('id',partIdName);
Thank you,
Rach
avalue is already an element, not a string, so document.getElementById() is not required in that line.
avalue is already an element, not a string, so document.getElementById() is not required in that line.
Hey Acoder,
So leave line 7 like this - var count = (value -1)+ 2;
Thank you,
Rach
I'd personally use something like: - var count = parseInt(avalue.value) + 1;
I'd personally use something like: - var count = parseInt(avalue.value) + 1;
Hey Acoder,
Here is what i have - <!---parts function --->
-
function addpartInput(partName){
-
var parts = document.getElementById(partName);
-
var getparts = document.getElementById('div');
-
var serialno = partName.replace("dynamic","").replace("Input","");
-
var avalue = document.getElementById("partscount"+serialno);
-
var count = parseInt(avalue.value) + 1;
-
avalue.value = count;
-
var partdiv = document.createElement('div');
-
var partIdName = 'part'+count+'Name';
-
-
-
partdiv.setAttribute('id',partIdName);
an i tested out an its numbering correctly (serial information 1 parts 1 parts 2, serial information 2 parts 1 parts 2) an i only see one problem. its a hard one to explain. But basically if i add 2 parts under each serial (an i add 2 serials) . if i go to delete them all except 1 i am having the problem of it puts parts under the last serial.
example
serial information 1
test 1 (parts)
test2 (parts)
serial information 2
test 3 (parts)
test 4 (parts)
if i delete all except test 2. Instead of it remaining under serial information 1 it appears under serial information 2. Basically instead of the part remaining under the serial i added it with, its putting it under a different serial once i remove a part i added. An it happens with any part i add. Any ideas?
Thank you,
Rach
It seems the part div ID is not unique. Try adding the serial no. to it to make it unique, e.g. - var partIdName = 'part' + count + 'Name' + serialno;
It seems the part div ID is not unique. Try adding the serial no. to it to make it unique, e.g. - var partIdName = 'part' + count + 'Name' + serialno;
Hey Acoder,
Yep that was it.Thank you, Thank you!!! So heres the whole parts section done. - function addpartInput(partName){
-
var parts = document.getElementById(partName);
-
var getparts = document.getElementById('div');
-
var serialno = partName.replace("dynamic","").replace("Input","");
-
var avalue = document.getElementById("partscount"+serialno);
-
var count = parseInt(avalue.value) + 1;
-
avalue.value = count;
-
var partdiv = document.createElement('div');
-
var partIdName = 'part' + count + 'Name' + serialno;
-
-
partdiv.setAttribute('id',partIdName);
But anyway i was wondering. I talked to you about this earlier, but we had gotten on to another topic. How would make it so each part said this
part 1 serial information 1
basically so the user wont get confused because there will be a good amount of serials and parts being added an just want them to know what part goes with what serial.
Thank you,
Rach
I notice you have this line: - "<th class='sectiontitle' colspan='7'>Parts Information "+ count +" Serial Information <div id='dynamicInput'></div></th>" +
I'm not sure why you have that dynamicInput div in there - remove it and put the serialno variable in there (like count) and you should be good to go.
Hey Acoder,
I got just one more question an i should be able to figure out the rest "i hope". I am having trouble inserting the parts into the table. This is what i been trying - <!---Inserts information into serial table.--->
-
<CFIF REQUEST_METHOD EQ "POST">
-
<CFSET machineListLen = listLen(Form.serialcount)>
-
<CFLOOP from="1" to="#machineListLen#" index="machineCount">
-
<CFSET serialnum = Form["serialnum_" & machineCount]>
-
<CFSET modelno = Form["modelno_" & machineCount]>
-
<CFSET producttype = Form["producttype_" & machineCount]>
-
<CFSET softhardware = Form["softhardware_" & machineCount]>
-
<CFSET resolution = Form["resolution_" & machineCount]>
-
<CFSET resdate = Form["resdate_" & machineCount]>
-
<CFSET resvertified = Form["resvertified_" & machineCount]>
-
<CFSET vertifidate = Form["vertifidate_" & machineCount]>
-
<CFSET deptvendor = Form["deptvendor_" & machinecount]>
-
<CFSET hardwarefailure = Form["hardwarefailure_" & machineCount]>
-
<CFSET rma = Form["rma_" & machineCount]>
-
<CFSET thedescription = Form["thedescription_" & machineCount]>
-
<CFSET hcpn = Form["hcpn_" & machineCount]>
-
<CFSET partsreturn = Form["partsreturn_" & machineCount]>
-
<CFSET defective = Form["defective_" & machineCount]>
-
<!--- <CFSET followdate = Form["followdate_" & machineCount]>
-
<CFSET onsite = Form["onsite_" & machineCount]>
-
<CFSET numonsite = Form["numonsite_" & machineCount]>--->
-
-
<cfquery name="serial" datasource="CustomerSupport">
-
exec usp_CS_Insertserial
-
<cfqueryparam value="#serialnum#" CFSQLType = "CF_SQL_VARCHAR">,
-
'#Form.ID#',
-
<cfqueryparam value="#modelno#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#producttype#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#softhardware#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#resolution#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#resdate#">,
-
<cfqueryparam value="#resvertified#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#vertifidate#">,
-
<cfqueryparam value="#deptvendor#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#hardwarefailure#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfqueryparam value="#rma#" CFSQLType = "CF_SQL_VARCHAR">
-
</cfquery>
-
-
<!---Inserts information into notes_descr table.--->
-
<cfquery name="description" datasource="CustomerSupport">
-
exec usp_CS_Insertdescription
-
<cfqueryparam value="#serialnum#" CFSQLType = "CF_SQL_VARCHAR">,
-
'#Form.ID#',
-
<cfqueryparam value="#thedescription#" CFSQLType = "CF_SQL_VARCHAR">,
-
'#Form.fk_addedBy#'
-
</cfquery>
-
-
<!---Inserts parts information into parts table.--->
-
<!---because it is a bit we don't use 'ticks' around defective for parts table--->
-
<cfquery name="parts" datasource="CustomerSupport">
-
exec usp_CS_Insertparts
-
<cfqueryparam value="#serialnum#" CFSQLType = "CF_SQL_VARCHAR">,
-
'#Form.ID#',
-
<cfquery param value="#hcpn#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfquery param value="#partsreturn#" CFSQLType = "CF_SQL_VARCHAR">,
-
<cfquery param value="#defective#" CFSQLType = "CF_SQL_VARCHAR">,
-
<!--- <cfquery param value="#submission#" CFSQLType = "CF_SQL_VARCHAR">--->
-
</cfquery>
-
-
</CFLOOP>
-
</CFIF>
and i get the error Just in time compilation error.An unknown attribute 'param' has been encountered. An it says it happens right in the insert parts information. An well was wondering. In the serial function i had this line at the end - "<input type='hidden' name='serialcount' value='" + count + "'>";
do i need to add this line into parts? or do i need to create something else?
Thank you,
Rach
This is a Coldfusion problem. The cfqueryparam tags have a space between them.
This is a Coldfusion problem. The cfqueryparam tags have a space between them.
Hey Acoder,
Yeah i know its a coldfusion problem. But wanted to make sure this line - "<input type='hidden' name='serialcount' value='" + count + "'>";
was not causing the trouble before having to start a new thread. Do i need this line in both the serial function and the parts function to make it insert correctly?
Thank you,
Rach
I doubt it from what I can see from the query, so I would suggest a new thread.
I doubt it from what I can see from the query, so I would suggest a new thread.
Hey Acoder,
But do i need this line in the serial and parts function or just the serial function because right now have it in both - "<input type='hidden' name='serialcount' value='" + count + "'>";
but started a new thread which here is the link http://bytes.com/forum/showthread.ph...82#post3387382
But thank you again for all the help i really appreciate it, its awesome to see it working! Thank you Thank you!!!!!
Thank you again :),
Rach
No, you wouldn't need that line in either function because you already have the counts, one for all serials and one each for parts in each serial.
And, of course, you're welcome!
No, you wouldn't need that line in either function because you already have the counts, one for all serials and one each for parts in each serial.
And, of course, you're welcome!
Hey Acoder,
Are you sure i don't need the line at all? because in my cold fusion it uses that field for the count - <CFIF REQUEST_METHOD EQ "POST">
-
<CFSET machineListLen = listLen(Form.serialcount)>
-
<CFLOOP from="1" to="#machineListLen#" index="machineCount">
Thank you,
Rach
Well, OK, you do need it, but you only need one, not one each for each serial. The one you need is the one with ID "theValue". Give it the name "serialcount". Likewise for parts counts, give them names so that they can be used in Coldfusion.
Well, OK, you do need it, but you only need one, not one each for each serial. The one you need is the one with ID "theValue". Give it the name "serialcount". Likewise for parts counts, give them names so that they can be used in Coldfusion.
Hey Acoder,
So in the serial function put this - "<input type='hidden' name='serialcount' value='" + count + "'>";
-
-
<!--- Adds Delete to every ticket --->
-
newdiv.innerHTML = newdiv.innerHTML +
an to the parts function do this - "<input type='hidden' name='partscount' value='" + count + "'>";
-
-
-
<!--- Adds Delete to every ticket --->
-
partdiv.innerHTML = partdiv.innerHTML +
correct?
Thank you,
Rach
No, you don't need any extra ones. You already have them within your code, so there's no need to create redundant elements.
The ones I'm talking about are the ones you've been using in your JavaScript code. The element in the HTML for serials and the multiple parts counts created in addInput() for parts.
No, you don't need any extra ones. You already have them within your code, so there's no need to create redundant elements.
The ones I'm talking about are the ones you've been using in your JavaScript code. The element in the HTML for serials and the multiple parts counts created in addInput() for parts.
Hey Acoder,
Ok so saying to leave the one in serial function - "<input type='hidden' name='serialcount' id="theValue" value='" + count + "'>";
and then for the parts put - "<input type='hidden' name='partc' id="theValue" value='" + count + "'>";
Thank you,
Rach
No, you don't need any more at all. You can just use the ones that you're already using: "theValue" in the HTML just above the "dynamicInput" div and "partscount1", "partscount2", etc. in the addInput function.
No, you don't need any more at all. You can just use the ones that you're already using: "theValue" in the HTML just above the "dynamicInput" div and "partscount1", "partscount2", etc. in the addInput function.
Hey Acoder,
Alrighty i understand now. Do i need to remove the other value i have in the html as well? these are the 2 i have in the html - <input type="hidden" value="0" id="theValue" />
-
<input type="hidden" value="0" id="aValue" />
Thank you,
Rach
I don't think you'll need the "aValue" one, though you'll now need to name these hidden input fields so that they're also available to Coldfusion, e.g. - <input type="hidden" value="0" name="serialcount" id="theValue" />
I don't think you'll need the "aValue" one, though you'll now need to name these hidden input fields so that they're also available to Coldfusion, e.g. - <input type="hidden" value="0" name="serialcount" id="theValue" />
Hey Acoder,
am i going to be putting this field in the cfloop? or is this for good coldfusion practice?
here is what i have now - <input type="hidden" value="0" id="theValue" name="theValue"/>
Thank you,
Rach
Yes, you'll need the name for Coldfusion, not just for good practice, but uou have to be consistent in the naming, i.e. the names must match up: "serialcount" on both sides or "theValue".
Sign in to post your reply or Sign up for a free account.
Similar topics
by: PA |
last post by:
Can anyone tell me how to write XDR schema for XML below:
<?xml version="1.0"?>
<bk:Book xmlns:bk="urn:BookSchema.xdr">
<a:title>Sam's Book</a:title>
<a:author>Sam</a:author>...
|
by: Elf M. Sternberg |
last post by:
This is driving me nuts. I don't want to have to do hokey Javascript
magic to make it go away, so please, help me. I have a form with two
SUBMIT buttons three lines of TEXT inputs... but pressing...
|
by: sql-db2-dba |
last post by:
There are 2 tables A and B with A being the parent of B.
Table A
(
Col1 varchar(5) Not Null
)
Table B
(
B_PK varchar(5) Not Null ,
|
by: Rich Kucera |
last post by:
Holding all versions at 5.0.4, Multiple stacks with multiple-version
configurations inevitable
Will have to wait to see what the impact of problems such as
http://bugs.php.net/bug.php?id=33643 ...
|
by: |
last post by:
I'm seeking (probably basic) guidance on the right way to split a large site
that's supposed to represent one domain(mydomain.org) into many small VS.NET
projects, and how to avoid issues with...
|
by: Jankie |
last post by:
Hi all !
I hope someone help me with problem that I assume common,yet googling didnt even mention it.
In brief:
User uploads multiple files at one go.
It is one submission of multiple files,so I...
|
by: bonneylake |
last post by:
Hey Everyone,
Well recently i been inserting multiple fields for a section in my form called "serial". Well now i am trying to insert multiple fields for the not only the serial section but also...
|
by: DragonLord |
last post by:
Ok here is the situation in detail.
Single form with multiple items on it, 4 of which are panls that contain radio butons. Each panel loads it's radio buttons from a list of items in a sql...
|
by: Lyn DeMaio |
last post by:
I've been tasked with taking two unrealted tables (Providers and Patients, no common field) and allow users, on one form (or form/subform) to search multiple fields in each table, select a record...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new...
| |